TypeScript 是什么

Fanly 问答 2019-08-03 11:24:20 阅读(...)

TypeScript是一种由微软开发的自由和开源的编程语言。它是JavaScript的一个严格超集,并添加了可选的静态类型和使用看起来像基于类的面向对象编程语法操作Prototype。

TypeScript 是一种由微软开发的自由和开源的编程语言。它是 JavaScript 的一个严格超集,并添加了可选的静态类型和使用看起来像基于类的面向对象编程语法操作 Prototype。C#的首席架构师以及 Delphi 和 Turbo Pascal 的创始人安德斯·海尔斯伯格参与了 TypeScript 的开发。

TypeScript

TypeScript 设计目标是开发大型应用,然后转译成 JavaScript。由于 TypeScript 是 JavaScript 的严格超集,任何现有的 JavaScript 程序都是合法的 TypeScript 程序。

TypeScript 支持为现存 JavaScript 库添加类型信息的定义文件,方便其他程序像使用静态类型的值一样使用现有库中的值。当前有第三方提供常用库如 jQuery、MongoDB、Node.js 和 D3.js 的定义文件。

TypeScript 编译器本身也是用 TypeScript 编写,并被转译为 JavaScript,以 Apache License 2 发布。

背景

TypeScript 起源于微软以及外部客户在开发大规模 JavaScript 应用的过程中遇到的语言本身的短板。处理复杂 JavaScript 代码的挑战使得自定义工具在开发这门语言时很有必要。

很多依赖于 JavaScript 的开发者通常用最终编译为 JavaScript 代码的另一种语言编写脚本,例如 CoffeeScript 和 Script#(读作 ScriptSharp)。一个明显的劣势是也许无法在那另一种语言中使用任何 JavaScript 细节的语言特性,如果那种语言不支持。

与 JavaScript 的兼容性

TypeScript 是 JavaScript 的一个超集。默认情况下编译器以 ECMAScript 3(ES3)为目标但 ES5 也是受支持的一个选项。一个 TypeScript 应用可以利用已存在的 JavaScript 脚本。编译后的 TypeScript 脚本也可以在 JavaScript 中使用。

现有框架如 jQuery 和 Node.js 等受到完全支持。这些库的类型声明在源代码中提供。

支持的浏览器和平台

运行于任何平台上的任何网页浏览器都可以运行 TypeScript:由于它仅仅是被编译为标准的 JavaScript,一个脚本既可以被预编译为 JavaScript,也可以通过为 TypeScript 包含 JavaScript 编译器实时编译。

开源

TypeScript 是开源的,其源代码可以在 Apache 2 License 下从 Github 获得。这个项目由 Microsoft 维护,但是任何人可以通过在 Github 项目页发送反馈、提出建议和提交 bugfixes 而做出贡献。

已有一些批评提到,TypeScript 鼓励强类型,当前只有 Microsoft Visual Studio 支持在该语言上方便开发。最初的方案是在其它的编辑器上带来强类型,IntelliSense, 代码完成和代码重构的功能,但这可能不是一个简单的任务。此外,支持 TypeScript 开发的 Visual Studio 扩展不是开源的。最好的 TypeScript 开发体验是在 Microsoft Windows 上,然而随着时间的流逝以及这种语言的开放性,加之编译器自我托管,而且用 TypeScript 自身写的,这很有可能会改变。通过编译器的源代码访问到 AST(抽象句法树)以及详细的语言规范文档,社群已开始构建一个跨平台的编辑器,利用和 Visual Studio 所用到的相同的语言服务以提供一个增强的编辑体验。编辑器仍然在概念检验的阶段,但已经运行于 Linux, OSX 和 Windows,提供功能强度相同的 IntelliSense,代码完成和句法高亮方法。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • 高压氧舱 Hyperbaric oxygen chamber

    高压氧舱是什么

    高压氧舱是一种特殊的氧气环境控制设备,通常用于医疗、航空航天和潜水等领域,在高压氧舱中,氧气被加压到比大气压高的水平,从而使人体吸入更高浓度的氧气;但高压氧疗法和高压氧舱并非适用于所有人,如妊娠期妇女和严重的肺部疾病患者等,应当避免使用。
  • Midjourney AI 绘画工具

    Midjourney是什么

    Midjourney 是一个由同名研究实验室开发的人工智能程式,可根据文本生成图像,也就是大家所说的 AI 绘画工具,使用者可透过 Discord 的机器人指令进行操作。
  • 光猫 optical modem

    光猫是什么

    光猫是一种网络设备,也称为光纤终端设备,是将光纤信号转换成电信号的设备。连接光纤网络和用户家庭网络,实现了家庭宽带接入。光猫的作用是将光纤信号转化成家庭网络可以识别的信号,从而实现家庭网络的上网和终端设备的连接。
  • 10G 网络 万兆网络 10 Gigabit Network

    万兆网络是什么

    万兆网络是指传输速度达到万亿比特每秒(10 Tbps)的网络。万兆网络使用光纤作为传输介质,采用光电转换技术将电信号转换成光信号,然后在光纤中进行传输。它可以通过单模光纤或多模光纤进行传输,通常采用光模块进行连接。
  • eD2k

    eD2k是什么

    eD2k是一种P2P(点对点)共享方式,也被称为电驴下载,是一种基于eMule开发的文件共享协议。通过该协议,用户可以通过互联网从其他用户的计算机上下载各种类型的文件,如音乐、视频、图片、文档等。
  • 苹果 Boot Camp Apple Boot Camp

    苹果Boot Camp是什么

    Boot Camp是苹果公司开发的一款软件,可以在Mac电脑上安装Windows操作系统,Boot Camp是一个实用工具,允许用户在Mac电脑上运行Windows操作系统,以便在Mac OS X和Windows操作系统之间进行切换。