你能描述一下 TypeScript 语言是什么吗?
JavaScript 或可用库不能做什么,这让我有理由考虑它?
原文由 Mohammed Thabet 发布,翻译遵循 CC BY-SA 4.0 许可协议
你能描述一下 TypeScript 语言是什么吗?
JavaScript 或可用库不能做什么,这让我有理由考虑它?
原文由 Mohammed Thabet 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答875 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
1000英尺的视野…
TypeScript 是 JavaScript 的超集,主要提供可选的静态类型、类和接口。一大好处是使 IDE 能够提供更丰富的环境,以便 在您键入代码 时发现常见错误。
要了解我的意思,请观看 Microsoft 的语言介绍视频。
对于大型 JavaScript 项目,采用 TypeScript 可能会产生更强大的软件,同时仍然可以部署在常规 JavaScript 应用程序运行的地方。
它是开源的,但如果您使用受支持的 IDE,您只能在键入时获得智能 Intellisense。最初,这只是微软的 Visual Studio(在 Miguel de Icaza 的博客文章中也有提及)。如今, 其他 IDE 也提供 TypeScript 支持。
还有其他类似的技术吗?
有 CoffeeScript ,但这确实有不同的目的。恕我直言,CoffeeScript 为人类提供了可读性,但 TypeScript 还通过其可选的静态类型为 工具 提供了深度可读性(请参阅这篇 最近的博客文章 以获得更多评论)。还有 Dart ,但它完全替代了 JavaScript(尽管它 可以生成 JavaScript 代码)
例子
例如,这里有一些 TypeScript(你可以在 TypeScript Playground 中使用它)
这是它会生成的 JavaScript
注意 TypeScript 如何定义成员变量和类方法参数的类型。这在转换为 JavaScript 时会被删除,但 IDE 和编译器会使用它来发现错误,例如将数字类型传递给构造函数。
它还能够推断未显式声明的类型,例如,它将确定
greet()
方法返回一个字符串。调试 TypeScript
许多浏览器和 IDE 通过源映射提供直接调试支持。有关更多详细信息,请参阅此 Stack Overflow 问题: 使用 Visual Studio 调试 TypeScript 代码
想知道更多?
我最初在 TypeScript 还很热门的时候写了这个答案。查看 Lodewijk 对这个问题的回答,了解更多最新细节。