如何评价 TypeScript?

 

王泽

Hello Egret

338 人赞同了该回答

怒答。

TypeScript 是 JavaScript 的强类型版本。然后在编译期去掉类型和特有语法,生成纯粹的 JavaScript 代码。由于最终在浏览器中运行的仍然是 JavaScript,所以 TypeScript 并不依赖于浏览器的支持,也并不会带来兼容性问题。

TypeScript 是 JavaScript 的超集,这意味着他支持所有的 JavaScript 语法。并在此之上对 JavaScript 添加了一些扩展,如 class / interface / module 等。这样会大大提升代码的可阅读性。

 

1. 静态类型检查 
2. IDE 智能提示 
3. 代码重构 
4. 可读性


TypeScript 虽然是强类型语言,但是如果对象被声明为了 any 类型,就会忽略所有的类型检查。这种灵活的结构保证了他可以在保证整体有强类型检查优势的同时,在一些细节问题上保持弱类型的灵活。

TypeScript 本身是开源的,这意味着开发者可以自由修改其源代码,同时 TypeScript 的架构设计也很优秀,提供了充分的 API 接口方便开发者进行进一步扩展。顺便说一下,TypeScript 编译器本身是用 TypeScript 开发的。构建流程是先用旧版本的 TypeScirptCompiler.js 将新版本的 TypeScript Language 的 TypeScript源代码编译成新的 TypeScriptCompiler.js,听起来很厉害的样子。

由于其开源性,通过 TypeScript Compiler API,开发者可以自己实现编译器(比如添加增量编译和自动编译,大幅提升编译速度),自定义语法检查,以及自定义输出结构等。 由于编译器核心灵活的结构,开发者只需要简单的添加一些代码,就可以在 IDE 中支持 TypeScript 的诸多特性。

顺便打个广告,白鹭引擎是基于 TypeScript 的开源 HTML5 游戏引擎。白鹭引擎的后续版本会利用这些特性不断完善引擎自身。举例,我们的 IDE Egret Wing 就利用了 TypeScript Service API 实现了了代码智能提示等功能。文档生成工具也是通过扩展 TypeScript Compiler API 实现的。

总结

我认为 TypeScript 是一项非常值得学习的新技术,由于他是 JavaScript 的超集,对 JavaScript 开发者来说入门门槛很低(相对于 Dart / CoffeeScript 等其他 JavaScript 变种来说 )。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值