为何TypeScript是任何事情的答案?
[原文发表地址] Why does TypeScript have to be the answer to anything?
[原文发表时间] 2012-10-03 0:38
免责声明 : 我不为TypeScript工作。我也不涉及该团队的工作,这只是我自己的意见和猜想。
宣布了TypeScript之后,人们都说" TypeScript显然是微软对谷歌Dart 的答案"或" TypeScript是 微软对CoffeeScript 的答案"。
今天我与Jez Humble聊到了对TypeScript的浓厚兴趣他引用了:
当聪明的人表现出对计算历史一无所知时,这令人感到失望。- Jez Humble
TypeScript已经问世一天了。要看到它是否有用还为时过早,但看上去前途似乎一片光明。
TypeScript和Dart
人们将TypeScript与 Dart 进行了比较。这就像将苹果与化油器相比较一样。TypeScript建于 JavaScript之上,所以没有与JS 互操作问题。Dart 是从scratch编写的本机虚拟机。Dart 与javascript之间互相操作......,但它不是 JS。例如,它甚至不使用 JavaScript 数字类型。
TypeScript和 CoffeeScript
我是一个超级的 CoffeeScript 粉丝,虽然它是一种有着不同语法的语言。我喜欢TypeScript的部分是—到目前为止- TypeScript的静态类型可以启用更好的工具,警告波形线、 简单的语句完成,再加上智能重构功能。您还获得围绕代码的轻松导航,以及查找引用、 重命名、 和更多。目前你在CoffeeScript中得不到这些功能。
TypeScript是什么?
TypeScript是 JavaScript 的超集,你编写它就像你编写我喜欢的 JavaScript一样。任何现有的 JavaScript 已经是TypeScript。有人争论说TypeScript是专门针对那些不想学 JavaScript 的人。我不那样认为。正如Ward Bell在一封电子邮件中所说:
如果JSLint 是一根拐杖,那么TypeScript不仅仅是一根拐杖。它并不掩藏JavaScript (就像CoffeeScript 也倾向于此一样)。- Ward Bell
我觉得Ward说得很好。人们抱怨静态类型,但他们不会抱怨 JSLint。TypeScript提供了可选的类型批注-这很难是JavaScript的误用。
通过使用TypeScript几天后,我的观点是这样的。它为您提供类型检查、显式接口和更简单的模块出口。事实上,它有点像以与今天的 JavaScript 相兼容的方式提早获取明天的 ECMAScript 6。ES6 在至少一年内不会问世,但我们目前可以使用其中的部分功能。
我喜欢TypeScript的部分是:
- 它是开源的,位于 Apache 2.0许可下
- 您可以通过下面的方式轻松地安装此工具:
- npm install typescript -g
- 您可以在获取源
- git clone https://git01.codeplex.com/typescript
- 您可以在https://www.typescriptlang.org/Playground在线使用它。
我不喜欢TypeScript(这些大多是执行的事情)的部分是
- 没有像Visual Studio 现有的 CoffeeScript 编辑器一样的分屏编辑器
- 更新: 虽然这不是 " 官方 " 的支持,但Mads已 经向Web 2012 Essentials 添加了一个分屏编辑器 。这两个团队将在更官方的解决方案上协同工作。
- 保存时不生成.js,需要一个生成。
- 更新: Web Essentials扩展可以为我们做到这一点。
- 您必须添加一个BeforeBuild 来指向你的ASP.NET 应用程序的 CSPROJ:
<Target Name="BeforeBuild"> <Exec Command=""$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc" @(TypeScriptCompile ->'"%(fullpath)"', ' ')" /> </Target> |
我会继续使用TypeScript,并评估它,但作为一名C# 程序员,我认为它是开源的, 它创建 JavaScript,它给我舒适的感觉,基于这些事实,这意味着它会填满一个有用的利基市场。
这段引用来自Luke Hoban,TypeScript的合作者,它一语点睛。
"CoffeeScript 之对于Ruby就像TypeScript之对于 Java / C# / C + +一样"-Luke Hoban
如果你喜欢Ruby,那么你将会喜欢 CoffeeScript,因为它使 JavaScript 更像Ruby。TypeScript也同样如此。通过使用您习惯的语言构造,它以最终兼容和语法友好的方式将有用的功能带给了JavaScript。