TypeScript 看见未来的 JavaScript
TypeScript也可以看作是“更好的JavaScript”,TypeScript充分利用了JavaScript原有的对象模型并在此基础上做了扩充,添加了较为严格的类型检查机制,添加了模块支持和API导出的能力。比起JavaScript,TypeScript提供了更多在语言层面上的支持,使得程序员能够以更加标准化的语法来表达语义上的约束,从而降低了程序出错的机率;TypeScript也使得代码组织和复用变得更加有序,使得开发大型Web应用有了一套标准方法。
下面是完成同样功能的两段简单代码。
TypeScript Code:
class Greeter {
greeting: string;
constructor (message: string) {
this.greeting = message;
}
greet() {
return "Hello, " + this.greeting;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
JavaScript Code:
var Greeter = (function () {
function Greeter(message) {
this.greeting = message;
}
Greeter.prototype.greet = function () {
return "Hello, " + this.greeting;
};
return Greeter;
})();
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
在JavaScript中没有类,只有对象,要实现所谓的“类式操作”(classical operations),如封装、多态等,要通过若干基础设施,如原型、构造函数等来完成。这些对于非常熟悉JavaScript的程序员来说,也许都是可以完成的任务,但对于新手来说就困难重重了。并且,即使是高手,一段时间不写相关的代码也很容易遗忘和出错。但TypeScript却提供了标准的机制,将普通程序员熟悉的、C++和C#中常用的类概念映射到JavaScript中去,这样就大大降低了在JavaScript进行类式操作的难度。
严格ES6(ECMAScript 2015)开始支持类了,但TypeScript现在就可以运行在任何浏览器上、Node.js环境中和任何支持ECMAScript 3(或更高版本)的JavaScript引擎中。所以说TypeScript是JavaScript的未来,是更好的JavaScript
为什么要学习 TypeScript ,实际上 JavaScript 已经够用了,而且像我没学过 TypeScript 也照样开发得很好,我们来看看它的优势:
- 更多的规则和类型限制,让代码预测性更高、可控性更高,易于维护和调试。
- 对模块、命名空间和面向对象的支持,更容易组织代码开发大型复杂程序。
- TypeScript 的编译步骤可以捕获运行之前的错误。
- Angular 2+ 和 Ionic 2+默认使用 TypeScript(虽然我不会,我也在用。)、
TypeScript 是微软开发和控制的开源项目,我在应用 Anguar 2 + Ionic 2 + 框架开发系统时使用的就是 TypeScript,但我一直把 TypeScript 当作 JavaScript 来用的,甚至是照猫画虎,所以我想正儿八经的学习下 TypeScript,弄明白我糊里糊涂使用的东西,这篇 Chat分享算是我的一个学习笔记,如果你想和我一样,想知道以下内容,请来我的 Chat:
为什么要学习 TypeScript
TypeScript 的类型有什么不同和用处
使用 Webpack 搭建学习环境
深入了解 TypeScript 中的类型
如果你想了解以上类容,欢迎加入TypeScript 快速入门 的Chat
上一篇: 昭通凉粉
下一篇: vue怎样全局配置键盘事件
推荐阅读
-
JavaScript和TypeScript中的void的具体使用
-
使用VSCode调试javascript/typescript的一个技巧
-
es5的JavaScript语法和TypeScript的比较
-
JavaScript的未来方向之观察
-
JavaScript是如何工作的:深入类和继承内部原理 + Babel和TypeScript之间转换
-
JavaScript 与 TypeScript之间的联系
-
TypeScript - (四) JavaScript中的闭包(TS中类的原理)
-
JavaScript 和 TypeScript 中的 class
-
同构JavaScript是Web的未来吗?
-
JavaScript和TypeScript中的void的具体使用