We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TypeScript 是 JavaScript 的类型的超集,支持ES6语法,支持面向对象编程的概念,如类、接口、继承、泛型等
TypeScript
JavaScript
ES6
超集,不得不说另外一个概念,子集,怎么理解这两个呢,举个例子,如果一个集合A里面的的所有元素集合B里面都存在,那么我们可以理解集合B是集合A的超集,集合A为集合B的子集
其是一种静态类型检查的语言,提供了类型注解,在代码编译阶段就可以检查出数据类型的错误
同时扩展了 JavaScript 的语法,所以任何现有的 JavaScript 程序可以不加改变的在 TypeScript 下工作
为了保证兼容性,typescript在编译阶段需要编译器编译成纯Javascript来运行,是为大型应用之开发而设计的语言,如下:
typescript
Javascript
tsx文件如下:
tsx
const hello : string = "Hello World!" console.log(hello)
编译文件后:
const hello = "Hello World!" console.log(hello)
typescript的特性主要有如下:
通过类型批注提供在编译时启动类型检查的静态类型,这是可选的,而且可以忽略而使用JavaScript常规的动态类型
function Add(left: number, right: number): number { return left + right; }
对于基本类型的批注是number、bool和string,而弱或动态类型的结构则是any类型
number
bool
string
any
当类型没有给出时,TypeScript编译器利用类型推断来推断类型,如下:
let str = 'string'
变量str被推断为字符串类型,这种推断发生在初始化变量和成员,设置默认参数值和决定函数返回值时
str
如果由于缺乏声明而不能推断出类型,那么它的类型被视作默认的动态any类型
接口简单来说就是用来描述对象的类型 数据的类型有number、 null、 string等数据格式,对象的类型就是用接口来描述的
null
interface Person { name: string; age: number; } let tom: Person = { name: 'Tom', age: 25 };
更多的区别如下图所示:
The text was updated successfully, but these errors were encountered:
No branches or pull requests
一、是什么
TypeScript
是JavaScript
的类型的超集,支持ES6
语法,支持面向对象编程的概念,如类、接口、继承、泛型等其是一种静态类型检查的语言,提供了类型注解,在代码编译阶段就可以检查出数据类型的错误
同时扩展了
JavaScript
的语法,所以任何现有的JavaScript
程序可以不加改变的在TypeScript
下工作为了保证兼容性,
typescript
在编译阶段需要编译器编译成纯Javascript
来运行,是为大型应用之开发而设计的语言,如下:tsx
文件如下:编译文件后:
二、特性
typescript
的特性主要有如下:类型批注
通过类型批注提供在编译时启动类型检查的静态类型,这是可选的,而且可以忽略而使用
JavaScript
常规的动态类型对于基本类型的批注是
number
、bool
和string
,而弱或动态类型的结构则是any
类型类型推断
当类型没有给出时,TypeScript编译器利用类型推断来推断类型,如下:
变量
str
被推断为字符串类型,这种推断发生在初始化变量和成员,设置默认参数值和决定函数返回值时如果由于缺乏声明而不能推断出类型,那么它的类型被视作默认的动态
any
类型接口
接口简单来说就是用来描述对象的类型 数据的类型有
number
、null
、string
等数据格式,对象的类型就是用接口来描述的三、区别
更多的区别如下图所示:
参考文献
The text was updated successfully, but these errors were encountered: