TypeScript 看见未来的 JavaScript

本文对比了TypeScript与JavaScript的代码实现方式,并介绍了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

TypeScript快速入门

如何用Python爬取网页制作电子书

原文地址

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值