简单的说,TypeScript是微软开发的JavaScript的进阶语言
一般前端有这样的路线:
js -> es6 -> ts
其中的ts就是js,ts可以编译成js然后执行,可以将ts看做js的超集。
ts相比js增加了哪些东西呢?
- 增加了类型支持,有了类型支持,我们在编写代码时就能通过ide的静态类型检查来初步的确认代码是否有错,这在js时是很困难的,因为js是动态类型。ts的类型支持使得一大部分错误在编译期就能发现。这也是为什么它更适合大型项目的前端合作的原因。
- 增加了面向对象支持:接口(Interfaces)、泛型(Generics)、类(Classes)、枚举类型(Enums)。这也是js比较弱的地方。es6可以声明class,但是还是不支持更进一步的接口泛型特性。如果单纯的利用js的面向对象来进行设计是比较吃力的,js更适合函数式编程。但是ts也不是不支持函数式,js的一切ts都支持。
- 增加了访问修饰符,public、private、protected。
- 增加了开发的工作量,如果说开发上的工作量增加了,但是维护和升级的工作量降低了那么ts也是很值得的吧。
ts相比js优点
总的来说优点就是方便了类型检查。至于面向对象,更适合大型项目开发吗?这个要仁者见仁,智者见智了。ts和java或c#这样的面向对象语言很相似了。
ts相比js缺点
- 支持的库比较少,但是由于其兼容js,这方面问题会小一些
- 有一定的学习成本,但是如果之前你学习过面向对象语言,如c++、java、c#,那么上手还是很快的
- 增加了开发的工作量
|
请发表评论