1、Typescript出现的原因
JavaScript 是轻量级的解释性脚本语言,可嵌入到 HTML 页面中,在浏览器端执行,但是JavaScript不适合开发大型的项目,没有面向对象的设计理念。所以出现了TypeScript来解决JavaScript的缺陷。
TypeScript 是JavaScript 的超集,即包含JavaScript 的所有元素,能运行JavaScript 的代码,并扩展了JavaScript 的语法。相比于JavaScript ,它还增加了静态类型、类、模块、接口和类型注解方面的功能,更易于大项目的开发。
2、Typescript到底有哪些优势呢?
(1)、便于开发人员做注释。
(2)、能帮助开发人员检测出错误并修改。
(3)、TypeScript工具使重构更变的容易、快捷。
(4)、TypeScript 引入了 JavaScript 中没有的“类”概念。
(5)、TypeScript 中引入了模块的概念,可以把声明、数据、函数和类封装在模块中。
(6)、类型安全功能能在编码期间检测错误,这为开发人员创建了一个更高效的编码和调试过程。
3、那么JavaScript为了不被淘汰做了哪些努力呢?
因为ECMA标准的进化,很多ts的专属特性已在原生js中落地,其中包括但不限于:
(1)、let/const 基于块级作用域的变量声明
(2)、lambda(箭头函数)
(3)、class 类
所以,除强类型与泛型等从C#引入的面向对象特性,js与ts的差异已基本被抹平。
4、既然Typescript那么好,那么Typescript有没有局限性呢?
ts是js的超集,这意味着你在ts中写js是完全兼容的,这降低了ts的学习和使用门槛,保留了灵活性,但同时,ts的纯洁性无法保证。
程序是否加入类型声明,是否使用面向对象完全取决于开发者本身,而这种过分的宽容很不利于团队合作的复杂长周期开发。
如果不对ts项目进行严格的代码规范,那么使用ts非但不能提高项目的安全性和严谨性,反而会给自己挖很多坑。
所以,建议ts项目采用团队统一的tslint。
当然,如果希望使用真正的静态,类定义,面向对象的web开发语言,可以考虑放弃typescript,转投dart了。