再见CoffeeScript,你好TypeScript

栏目: CoffeeScript · 发布时间: 8年前

内容简介:再见CoffeeScript,你好TypeScript

在网页应用的开发方面,CoffeeScript曾经为广大 程序员 提供了很好的帮助。然而,微软公司推出的TypeScript正在超越CoffeeScript成为大家的首选。

作为一个在2009年出现的语言,CoffeeScript目前已经十分成熟。它给为用户提供了很多的语法糖以及基于类的继承,却又保证了尽量简洁的语法。而且,其流行程度为团队之间的高效交流提供保证。然而,CoffeeScript也存在一些很难解决的问题。Heap的软件工程师 Jiawei Li表示 ,CoffeeScript至少存在三个方面的缺点。首先,CoffeeScript中的变量初始化和重新赋值很容易出现混淆。由于变量不需要声明,在内层函数新定义的变量可能和已有的外部变量重名,造成程序执行混乱。其次,CoffeeScript中强大的 ? 操作符使得加大了阅读代码的难度。使用 ? 来代替 null/undefined 的确可以简化代码,但编程人员却使得阅读代码变得困难。最后,CoffeeScript模糊的语法定义使得编译后程序的行为无法掌控。以 foo bar and hello world 为例,其编译后的结果就可以是 foo(bar) && hello(world) 或者 foo(bar && hello(world))

Jiawei表示,企业目前对相关编程语言的核心关注点主要集中在两个方面——代码的易读性和易于快速开发。代码易读保证了调试工作可以高效进行;易于开速开发则保证了产品的发布时间。CoffeeScript的缺点正好刺到了企业的痛点。因此,TypeScript一经推出便迅速崛起。

TypeScript的优点包括:支持可选的静态类型和基于类的面向对象编程、内置的类型注解保证了代码编译时的正确性、版本更新速度很快以及支持在第三方JavaScript中增加类型等。尽管TypeScript还存在不成熟的地方(如与ES6的兼容性方面),其特性很好的保证了大规模JavaScript应用开发的效率。未来,TypeScript必然会有进一步更好的表现。

最后,Jiawei也指出了一些TypeScript有待改进的地方。TypeScript还欠缺模式匹配和隐式转换等语言特性。而且,针对变量的取值为null或者undefined的情况,TypeScript还没不能很好的进行处理。JiaWei建议,可以添加更多的类型机制来解决该问题。其中包括使用 Options 来决定是否允许变量为 null/undefined 、使用 Trys 来声明事情成功或失败以及使用 FuturesPromises 来声明异步操作成功或失败等。

感谢徐川对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群 再见CoffeeScript,你好TypeScript )。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

设计模式之禅(第2版)

设计模式之禅(第2版)

秦小波 / 机械工业出版社 / 2014-2-25 / 89.00元

本书是设计模式领域公认的3本经典著作之一,“极具趣味,容易理解,但讲解又极为严谨和透彻”是本书的写作风格和方法的最大特点。第1版2010年出版,畅销至今,广受好评,是该领域的里程碑著作。深刻解读6大设计原则和28种设计模式的准确定义、应用方法和最佳实践,全方位比较各种同类模式之间的异同,详细讲解将不同的模式组合使用的方法。第2版在第1版的基础上有两方面的改进,一方面结合读者的意见和建议对原有内容中......一起来看看 《设计模式之禅(第2版)》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器