Typescript的核心特性——类型(type),极大程度上弥补了JavaScript的缺点。
静态类型语言TypeScript
类型系统按照类型检查时机可以分为
- 动态类型:在运行时才会进行类型检查,而其类型错误往往会导致运行出错,如JavaScript。
- 静态类型:在编译阶段就能确定每一个变量的类型,从而进行类型检查,其类型错误往往导致语法错误,如TypeScript、C语言。
静态类型语言的特点:
- 对类型极度严格,比如C
- 可以立即发现错误
- 运行时性能更加良好
- 自文档化
弱类型语言TypeScript
类型系统按照是否允许隐式类型转换可以分为
- 强类型
- 弱类型:允许隐式类型转换,如TypeScript、JavaScript
其他特性
- 完全兼容JavaScript;
- 可以编译为JavaScript,然后运行在浏览器、Node.js等任何能运行JavaScript的环境中;
- 可以与JavaScript并存,JavaScript项目可以渐进式迁移到TypeScript。
- 与标准同步发展。
在今后的编写TypeScript代码中,我们以vscode为编辑器进行练习。需要注意的是,写好的TypeScript代码(.ts文件)需要先编译成JavaScript代码(.js文件),然后再运行.js文件(静态类型语言编译、运行)。
当然,借助vscode的codder runner插件,我们也可以直接跑代码,操作起来更加简便,但是本质上都是先编译、再运行的。
类型注解
类似于强类型语言中的类型声明,也可以对变量类型进行约束,如
let name: string = '杨继盛'