为什么要学Typescript
Javascript是一种动态语言,很难做到类型检查,这将导致很多Javascript语法问题在编码阶段无法检测,而只能在运行时才暴露.Typescript 是由 C#语言的创始人 Anders Hejlsberg 设计的一种编程语言,设计的初衷就是为了帮助 Javascript 的开发人员能像类似高级语言c#,Java那样编写代码,比如使用高级语言的强类型、面向对象、语法检查,代码编译等特点。Typescript包含一个编译器,可以将用Typescript 编写的代码转换为原生的 Javascript
class Animal { constructor {this.name = name;this.age = age; }}const dog1 = new Animal;const dog3 = new Animal;const dog2 = new Animal;
上面我们定义了一个类Animal,并且构造函数接受两个参数name,age,那上面会出现什么问题呢,如果细心的小伙伴就会发现:1.参数name,age可以随便是任务类型如:String Number, Array, Object, Function, Null Boolean 2.Animal类构造函数接受两个参数,但实际上我们可以传2个或1个甚至可以不传3.name,age可不可以有默认值,我不传时就使用默认值但是有些小伙伴说,我们可以用typeof,instanceof判断。是的,在不使用typescript,想要检测某些类型时就会用typeof,instanceof,构造函数指针,原型函数去判断,但是非常麻烦,一不小心就会判断出错,这不展开细说了,有兴趣的伙伴可以上网查阅下。
async function wxPay { return Promise => {setTimeout => { resolve;}, 3 * 1000); });}const pay = await wxPay;
上面我们定义了一个支付的函数,在支付成功后,返回了一个对象 {code:200, msg: '支付成功'},这里就有一个问题:如果没有看到函数原码,或运行返回的值,你根本不知道函数返回的是什么这里我只举了两个最常见的问题参数与函数返回值的问题。即检测各类语法错误,使代码可读性更高更健壮.如果想了解更多,请关注我后继文章!我们为什么要用Typescript
- 提高编码效率和代码质量
传统的Javascript在编写代码时,没有一个编辑器(IDE)可以对代码进行只能提示和语法错误检查,从而导致Javascript代码在编译阶段很难发现潜在的错误,而Typescript可以让编辑器实现包括代码补全、接口提示、跳转到定义和代码重构等操作
- 增加了代码的可读性和可维护性
一般来说,理解C#或者Java代码会比Javascript容易得多,因为它们都是强类型的,而且支持面向对象的特征。强类型语言本身就是一个很好说明的文档,大部分函数可以看类型定义就明白大致如何使用。
Javascript很多库中利用了不少高级语言的特征,开发人员可能无法很好的理解其意图
- 胜任大规模应用开发
Typescript是具有面向对象特征的,这就意味着可以利用模块和类等特征对代码进行合理规划,达到高内聚低耦合的作用,Typescript可以让复杂的代码结构更加清晰、一致和简单,降低了代码后续维护和升级的难度
- 使用最先进的Javascript语法
Typescript语法遵循ES6规范,更细速度快,不断支持最新的ECMAscript版本特性。而且由于其语法和Javascript类似,降低了前端学习Typescript的难度。