我最初是在Typescript仍然热销时写这个答案的。五年后,这是一个不错的概述,但请查看以下Lodewijk的答案以获取更多深度
1000英尺查看…
Typescript是Javascript的超集,主要提供可选的静态类型,类和接口。最大的好处之一是使IDE能够提供更丰富的环境,以便
在键入代码时 发现常见错误。
要了解我的意思,请观看有关该语言的Microsoft入门视频。
对于大型Javascript项目,采用Typescript可能会导致软件更强大,同时仍可以在运行常规Javascript应用程序的地方进行部署。
它是开源的,但是如果您使用受支持的IDE,则只有在键入时才获得聪明的Intellisense。最初,这只是Microsoft的Visual
Studio(也在Miguel de
Icaza的博客文章中指出)。如今,其他IDE也提供Typescript支持。
还有其他类似的技术吗?
有Coffeescript,但这确实有不同的用途。恕我直言,Coffeescript为人类提供了可读性,但Typescript还通过其可选的静态类型为
工具
提供了深层的可读性(有关更多批评,请参阅此最新博客文章)。也有Dart,但可以完全替代Javascript(尽管它可以产生Javascript代码)
例
例如,这是一些Typescript(您可以在Typescript
Playground中使用它)
class Greeter { greeting: string; constructor (message: string) { this.greeting = message; } greet() { return "Hello, " + this.greeting; }}这是它将产生的Javascript
var Greeter = (function () { function Greeter(message) { this.greeting = message; } Greeter.prototype.greet = function () { return "Hello, " + this.greeting; }; return Greeter;})();注意Typescript如何定义成员变量和类方法参数的类型。转换为Javascript时已将其删除,但IDE和编译器使用它来发现错误,例如将数字类型传递给构造函数。
它也能够推断出未明确声明的类型,例如,它将确定该
greet()方法返回一个字符串。
调试Typescript
许多浏览器和IDE通过Sourcemap提供直接调试支持。有关更多详细信息,请参见此堆栈溢出问题:使用Visual
Studio调试Typescript代码
想知道更多?
我最初是在Typescript仍然热销时写这个答案的。查看Lodewijk对这个问题的答案,以获取更多当前的详细信息。


![什么是TypeScript?为什么我要用它代替JavaScript?[关闭] 什么是TypeScript?为什么我要用它代替JavaScript?[关闭]](http://www.mshxw.com/aiimages/31/464577.png)
