你的 JavaScript 就是 TypeScript

曾经有(也将继续会有)很多竞争对手将某种语法 编译成 JavaScript。TypeScript 跟它们的区别在于你的 JavaScript 就是 TypeScript。这里是一张图:

然而这就意味着你需要去学习 JavaScript(好消息是需要学习 JavaScript )。TypeScript 只是标准化了你在 JavaScript 上提供良好文档的方式。

  • 只是给了你一个新的不会帮助修复 bug 的语法(就是在说你,CoffeeScript)。
  • 创造了一个新的语言把你从你的运行时和社区中抽象得很远(就是在说你,Dart)。

TypeScript 仅仅是有文档的 JavaScript。

使 JavaScript 变得更好

TypeScript 会尝试把你从部分永远行不通的 JavaScript 中解救出来(所以不需要去记忆这些东西):

[] + []; // JavaScript 会给你 ""(这没有意义),TypeScript 会报错

//
// 其他在 JavaScript 中没意义的东西 
// - 不会有运行时错误(让 debug 变得困难)
// - 但是 TypeScript 会给一个编译时错误(使 debug 不再必要)
//
{} + []; // JS : 0, TS Error
[] + {}; // JS : "[object Object]", TS Error  
{} + {}; // JS : NaN, TS Error
"hello" - 1; // JS : NaN, TS Error

实际上 TypeScript 是 JavaScript 的静态分析工具。只是比别的没有类型信息的静态分析工具做的更好。

你仍然需要学习 JavaScript

这就是说 TypeScript 非常忠于你是在写 JavaScript的事实,因此为了不会措手不及还有一些关于 JavaScript 的事情你需要去知道。接下来让我们去讨论它。

results matching ""

    No results matching ""