再见CoffeeScript,你好TypeScript
栏目: CoffeeScript · 发布时间: 7年前
内容简介:再见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
来声明事情成功或失败以及使用 Futures
或 Promises
来声明异步操作成功或失败等。
感谢徐川对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群 )。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 再见2018,你好2019
- 再见CoffeeScript,你好TypeScript
- 再见,Python!你好,Go 语言
- Chromium Blog:再见 PNaCI,你好 WebAssembly!
- Chromium Blog:再见 PNaCI,你好 WebAssembly!
- 每日一博 | 再见,Netty!你好,smart-socket!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
HTML Dog
Patrick Griffiths / New Riders Press / 2006-11-22 / USD 49.99
For readers who want to design Web pages that load quickly, are easy to update, accessible to all, work on all browsers and can be quickly adapted to different media, this comprehensive guide represen......一起来看看 《HTML Dog》 这本书的介绍吧!