js开发中的问题
- 使用了不存在的变量、函数或成员
- 把一个不确定的类型当作一个确定的类型处理
- 在使用null或undefined的成员
js的原罪
- Js语言本身的特性,决定了该语言无法适应发型的复杂项目。
- 弱类型:某个变量,可以随时更换类型。
- 解释性:错误发生的时间,是在运行时。
TS语言的特点
TypeScript是JS的超集,是一个可选的、静态的类型系统。
1.类型系统
对代码中所有的标识符(变量、函数、参数、返回值)进行类型检查。
2.可选的
学习曲线平滑
3.静态的
类型检查发生的时间,在编译的时候,而非运行时。
TS不参与任何运行时的类型检查。