JavaScript 的超集
- 静态语言
- 可以使用尚在提案的语法特性
静态类型
在编译阶段报错就是「静态语言」,在运行阶段报错就是「动态语言」。
TypeScript 是「静态弱类型语言」, 因为要兼容 JavaScript,所以 TypeScript 对 JavaScript 中隐式类型转换几乎不做限制。对于如 Java、c# 这种静态强类型语言是不允许类型转换的。
严谨不失灵活
TypeScript 由于兼容 JavaScript 所以其灵活度可以媲美 JavaScript,比如你可以把任何想灵活的地方将类型定义为 any 即可,把 TypeScript 变为 AnyScript 就能保持它的灵活度,毕竟TypeScript 对类型的检查严格程度是可以通过 tsconfig.json 来配置的。