fbpx
维基百科

TypeScript

TypeScript是由微軟进行開發和维护[4]的一種开源編程语言。TypeScript是JavaScript的严格語法超集,提供了可選的靜態型別检查。

TypeScript
编程范型多范型函数式泛型指令式面向对象
設計者微软
實作者微软
发行时间2012年10月1日,​10年前​(2012-10-01[1]
目前版本
  • 5.0.2 (2023年3月16日;穩定版本)[2]
型態系統鸭子类型, 渐进类型英语Gradual typing, 结构类型英语Structural type system[3]
許可證Apache 许可证 2.0
文件扩展名.ts, .tsx
網站www.typescriptlang.org
啟發語言
C#JavaJavaScript
影響語言
AtScript英语AtScript、AssemblyScript

TypeScript的知名開發者有C#的首席架构师兼DelphiTurbo Pascal的创始人——安德斯·海尔斯伯格[5][6][7][8]

TypeScript是为开发大型應用程式而设计的,且可转译成JavaScript[9]。由于TypeScript是JavaScript的严格語法超集,因此任何現有的JavaScript程式都是合法的TypeScript程式。

TypeScript支援為現存JavaScript函式庫添加型別資訊的定义文件,方便其他程序像使用静态型別的TypeScript實體一样,使用现有程式库中的值,就像是C++標頭檔可以描述目的檔(objectfile)的結構一樣。有許多第三方標頭檔為熱門函式庫像是jQueryMongoDBNode.jsD3.js等提供定义文件。

TypeScript编译器本身也是用TypeScript编写,并被转译为JavaScript,以Apache许可证第二版发布。

背景

经过微软两年的内部开发后,TypeScript于2012年10月首次发布(0.8版本)。[10][11]在发布后不久,Miguel de Icaza认可了这门语言,但批评了其糟糕的IDE支持性,仅有Microsoft Visual Studio IDE支持其代码,但此IDE当时未在Linux和OS X操作系统上发布[12][13]。如今,在其他IDE中(例如:Eclipse),通过Palantir Technologies提供的插件支持,能支持TypeScript语法[14][15]。大部分主流的文本编辑器,例如:EmacsVimWebStormAtom[16]和微软发布的Visual Studio Code也能支持TypeScript语法[17]

2013年发布的 TypeScript 0.9增加了对泛型的支持[18]。TypeScript 1.0在2014年的微软开发者大会上发布。[19]Visual Studio 2013 Update 2为TypeScript提供了原生支持[20]

2014年7月,开发团队发布了新的TypeScript编辑器,声称其性能提高了5倍。同时,代码托管由CodePlex迁移至GitHub[21]

2016年9月22日,TypeScript 2.0发布,其中引入了几个功能,例如开发者可以选择不为变量分配空值等[22]

2018年7月30日,TypeScript 3.0发布[23],其中包含许多新功能,例如剩余参数(页面存档备份,存于互联网档案馆)、展开语法(页面存档备份,存于互联网档案馆)、带有元组的剩余参数、带有通用类型的剩余参数等[24]

设计背景

TypeScript起源于JavaScript在微软以及客户中开发大型应用中遇到的缺点[25]。处理复杂JavaScript代码带来的挑战使他们需要自定义工具来简化组件开发流程[26]

TypeScript开发者寻求一种不破坏现有标准兼容性和跨平台支持的解决方案。直到ECMAScript标准为未来基于类编程提供支持后,Typescript开发便基于此方案。这形成了包含一组新的语法扩展的一个JavaScript编译器,一个基于此提案的超集,可将TypeScript语法编译为常规的JavaScript。从这个意义上来讲,TypeScript是ECMAScript2015预期内容的预览版本。提案中未包括的可选静态类型被添加到了TypeScript中,有助于促进工具和IDE支持。

ECMAScript 6支持

TypeScript添加了ECMAScript 2015标准中定义的类、模块和箭头函数等语法的支持。

语言特性

TypeScript是一种為JavaScript添加特性的语言扩展。增加的功能包括:

以下功能是从ECMA 2015反向移植而来:

在语法上,TypeScript很类似JScript .NET,它是另外一个微软对ECMA-262语言标准的实现,添加了对静态类型、经典的面向对象语言特性(如类、继承、接口和命名空间等)的支持。

类型批注

TypeScript通过类型批注提供静态类型,以在编译时启动类型检查。这是可选的,而且可以忽略而使用JavaScript常规的动态类型。

function add(left: number, right: number): number { return left + right; } 

对于基本类型的批注是numberbooleanstring。而弱型別或动态类型的结构则是any类型。

类型批注可以被导出到一个单独的“声明文件”,让使用已被编译为JavaScript类型的TypeScript脚本中的类型信息仍可用。批注可以为现有的JavaScript库声明,就像Node.js和jQuery所做的那样。

没有给出类型时,TypeScript编译器會利用类型推断来推断类型。如果由于缺乏声明而不能推断出类型,那么它的类型將默认為动态any类型。

声明文件

当一个TypeScript脚本被编译时,有一个产生作为编译后的JavaScript的组件的一个接口而起作用的声明文件(具有扩展名.d.ts)的选项。在这个过程中编译器基本上带走所有的函数和方法体而仅保留所导出类型的批注。当第三方开发者从TypeScript中使用它时,由此产生的声明文件就可以被用于描述一个JavaScript库或模块导出的虚拟的TypeScript类型。

声明文件的概念类似于CC++头文件的概念。

declare module Arithmetics { export function add(left: number, right: number): number; export function subtract(left: number, right: number): number; export function multiply(left: number, right: number): number; export function divide(left: number, right: number): number; } 

可以为已存在的JavaScript库(如jQuery和Node.js)撰写类型声明文件。

類別

TypeScript支持集成了可选的類別批注支持的ECMAScript6的类。

class Person { private name: string; private age: number; constructor(name: string, age: number){ this.name = name; this.age = age; } toString(): string { return `${this.name}(${this.age})`; } } 

函式

TypeScript支援函式编程。以下為恆等函數的範例:

function id<T>(x: T): T { return x; } 

模組和命名空間

在TypeScript中,模組和命名空間是被區分開的。這兩項功能在TypeScript中皆支援將類型、介面、函數和變數封裝至容器內。命名空間(舊稱內部模組)使用JavaScript的立即呼叫函式表達式來封裝程式碼,而模組(舊稱外部模組)則是以JavaScript函式庫模式來達成(非同步模組定義或CommonJS)。

与JavaScript的兼容性

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

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

支持的浏览器和平台

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

开发工具

编译器

TypeScript编译器,叫做tsc,本身也是用TypeScript写成的。可以将TypeScript编译为可以在任何JavaScript引擎(如浏览器)中执行的标准JavaScript。编译器包也包含了脚本解释器,用来执行编译器。同时也有个Node.js包,在Node.js平台执行。

另外还有一个用JavaScript写的alpha版本的客户端编译器,它在页面载入时,实时执行TypeScript代码。[28]

这种编译器的当前版本默认支持ECMAScript 2015。一个选项是允许以ECMAScript 2015为目标,以利用该版本独有的语言特性(比如生成器)。类是ECMAScript 2015标准的一部分,在这两个模式下都可以使用。

IDE和编辑器支持

  • Visual Studio Code是一个开源的、跨平台的代码编辑器,是微软在Electron的基础上开发的。它支持TypeScript,同时也支持其他几个语言,同时提供了调试和自动代码补全的功能。
  • JetBrains在他们的IDE系列中支持TypeScript,而且已经发行了具有部分支持的PhpStorm 6和WebStorm 6以及IntelliJ IDEA[30]同时他们的Visual Studio扩展ReSharper (页面存档备份,存于互联网档案馆)8.1也支持。[31]
  • Atom也有一个TypeScript插件, 由Basarat开发,支持代码补全、跳转、格式化和快速完成。
  • 在线的Cloud9 IDE和Codenvy也支持TypeScript。
  • NetBeans也有一个插件
  • Eclipse IDE(Kepler)也有一个插件
  • 也是一个Eclipse IDE插件
  • MicrosoftSublime Text提供了TypeScript插件
  • 跨平台云IDE Codeanywhere支持TypeScript
  • Webclipse 是一个Eclipse插件,用于开发TypeScript 和 Angular 2
  • Angular IDE是一个可以从npm安装的IDE,可以开发TypeScript和Angular 2应用,集成终端支持
  • Tide (页面存档备份,存于互联网档案馆) — Emacs的TypeScript交互开发环境

开源

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

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

参见

其它编译为JavaScript的语言

参考资料

  1. ^ TypeScript. CodePlex. [2015-04-26]. (原始内容于2015-04-03). 
  2. ^ https://github.com/microsoft/TypeScript/releases/tag/v5.0.2.
  3. ^ . TypeScript. [2018-03-21]. (原始内容存档于2018-03-12). 
  4. ^ TypeScript GitHub官网. (原始内容于2017-01-04). 
  5. ^ Foley, Mary Jo. Microsoft takes the wraps off TypeScript, a superset of JavaScript. ZDNet. CBS Interactive. 2012-10-01 [2015-04-26]. (原始内容于2014-11-13). 
  6. ^ Somasegar, S. Somasegar’s blog. Somasegar’s blog. Microsoft. 2012-10-01 [2015-04-26]. (原始内容于2015-04-22). 
  7. ^ Baxter-Reynolds, Matt. Microsoft TypeScript: Can the father of C# save us from the tyranny of JavaScript?. ZDNet. 2012-10-01 [2015-04-26]. (原始内容于2014-08-03). 
  8. ^ Jackson, Joab. Microsoft Augments Javascript for Large-scale Development. CIO. IDG Enterprise. 2012-10-01 [2015-04-26]. (原始内容于2013-12-17). 
  9. ^ Microsoft TypeScript: the JavaScript we need, or a solution looking for a problem? | Ars Technica. [2012-10-09]. (原始内容于2015-03-29). 
  10. ^ Microsoft augments JavaScript for large-scale development. InfoWorld. IDG. 1 October 2012 [26 April 2015]. (原始内容于2013-05-31). 
  11. ^ Turner, Jonathan. Announcing TypeScript 1.0. TypeScript Language team blog. Microsoft. 2 April 2014 [26 April 2015]. (原始内容于2015-05-02). 
  12. ^ Microsoft TypeScript: Can the father of C# save us from the tyranny of JavaScript?. ZDNet. 1 October 2012 [12 October 2012]. (原始内容于2014-08-03). And I think this is a pretty big misstep. If you're building web apps that run on anything other than Windows, you're likely using a Mac and most likely not using Visual Studio. You need the Visual Studio plug-in to get the IntelliSense. All you get without Visual Studio is the strong-typing. You don't get the productivity benefits you get from IntelliSense.. 
  13. ^ Miguel de Icaza. TypeScript: First Impressions. 1 October 2012 [12 October 2012]. (原始内容于2019-02-24). But TypeScript only delivers half of the value in using a strongly typed language to Unix developers: strong typing. Intellisense, code completion and refactoring are tools that are only available to Visual Studio Professional users on Windows. There is no Eclipse, MonoDevelop or Emacs support for any of the language features 
  14. ^ TypeScript-Unterstützung für Eclipse. heise Developer. 6 August 2013 [26 April 2015]. (原始内容于2018-07-11). 
  15. ^ TypeScript. Eclipse Marketplace. Eclipse Foundation. [26 April 2015]. (原始内容于2018-10-10). 
  16. ^ TypeStrong: The only TypeScript package you will ever need. [21 July 2016]. (原始内容于2018-12-19). 
  17. ^ Hillar, Gastón. Working with TypeScript in Visual Studio 2012. Dr. Dobb's Journal. 14 May 2013 [26 April 2015]. (原始内容于2018-09-29). 
  18. ^ TypeScript 0.9 arrives with new compiler, support for generics. The Register. 18 June 2013 [26 April 2015]. (原始内容于2018-03-11). 
  19. ^ Hejlsberg, Anders. TypeScript. Channel 9. Microsoft. 2 April 2014 [26 April 2015]. (原始内容于2015-05-25). 
  20. ^ Jackson, Joab. Microsoft TypeScript graduates to Visual Studio. PC World. IDG. 25 February 2014 [26 April 2015]. (原始内容于2016-03-11). 
  21. ^ Turner, Jonathan. New Compiler and Moving to GitHub. TypeScript Language team blog. Microsoft. 21 July 2014 [26 April 2015]. (原始内容于2015-10-27). 
  22. ^ Bright, Peter. TypeScript, Microsoft's JavaScript for big applications, reaches version 2.0. Ars Technica. Condé Nast. 22 September 2016 [22 September 2016]. (原始内容于2018-12-21). 
  23. ^ Announcing TypeScript 3.0. 30 July 2018 [16 March 2020]. (原始内容于2020-05-30). 
  24. ^ TypeScript 3.0. 30 July 2018 [16 March 2020]. (原始内容于2020-06-06). 
  25. ^ Anders Hejlsberg. What is TypeScript and why with Anders Hejlsberg. www.hanselminutes.com. 5 October 2012 [15 January 2014]. (原始内容于2018-12-27). 
  26. ^ S. Somasegar. TypeScript: JavaScript Development at Application Scale. msdn.com. 1 October 2012 [27 November 2013]. (原始内容于2015-04-22). 
  27. ^ 存档副本. [2012-11-10]. (原始内容于2012-11-13). 
  28. ^ niutech/typescript-compile. GitHub. [2015-04-26]. (原始内容于2018-06-11). 
  29. ^ Olivier Bloch. Sublime Text, Vi, Emacs: TypeScript enabled!. Microsoft. 2012-10-01 [2012-10-28]. (原始内容于2012-10-29). 
  30. ^ TypeScript support in WebStorm 6. JetBrains. [2016-12-17]. (原始内容于2016-06-02). 
  31. ^ TypeScript support in ReSharper 8.1. JetBrains. [2016-12-17]. (原始内容于2014-02-02). 
  32. ^ 存档副本. [2016-12-17]. (原始内容于2017-01-04). 
  33. ^ Miguel de Icaza. TypeScript: First Impressions. 2012-10-01 [2012-10-12]. (原始内容于2019-02-24). But TypeScript only delivers half of the value in using a strongly typed language to Unix developers: strong typing. Intellisense, code completion and refactoring are tools that are only available to Visual Studio Professional users on Windows. There is no Eclipse, MonoDevelop or Emacs support for any of the language features 
  34. ^ Microsoft TypeScript: Can the father of C# save us from the tyranny of JavaScript?. ZDNet. 2012-10-01 [2012-10-12]. (原始内容于2014-08-03). And I think this is a pretty big misstep. If you're building web apps that run on anything other than Windows, you're likely using a Mac and most likely not using Visual Studio. You need the Visual Studio plug-in to get the IntelliSense. All you get without Visual Studio is the strong-typing. You don't get the productivity benefits you get from IntelliSense.. 
  35. ^ Code Assistant for TypeScript. [2013-01-07]. (原始内容于2013-01-21). 
  36. ^ TypeScript Editor. 2012-11-21 [2013-01-07]. (原始内容于2013-02-18). 

外部链接

typescript, 此條目需要更新, 2021年8月21日, 請更新本文以反映近況和新增内容, 完成修改時, 請移除本模板, 是由微軟进行開發和维护, 的一種开源的編程语言, 是javascript的严格語法超集, 提供了可選的靜態型別检查, 编程范型多范型, 函数式, 泛型, 指令式, 面向对象設計者微软實作者微软发行时间2012年10月1日, 10年前, 2012, 目前版本5, 2023年3月16日, 穩定版本, 型態系統鸭子类型, 渐进类型, 英语, gradual, typing, 结构类型, 英语,. 此條目需要更新 2021年8月21日 請更新本文以反映近況和新增内容 完成修改時 請移除本模板 TypeScript 是由微軟进行開發和维护 4 的一種开源的編程语言 TypeScript是JavaScript的严格語法超集 提供了可選的靜態型別检查 TypeScript编程范型多范型 函数式 泛型 指令式 面向对象設計者微软實作者微软发行时间2012年10月1日 10年前 2012 10 01 1 目前版本5 0 2 2023年3月16日 穩定版本 2 型態系統鸭子类型 渐进类型 英语 Gradual typing 结构类型 英语 Structural type system 3 許可證Apache 许可证 2 0文件扩展名 ts tsx網站www wbr typescriptlang wbr org啟發語言C Java JavaScript影響語言AtScript 英语 AtScript AssemblyScriptTypeScript的知名開發者有C 的首席架构师兼Delphi和Turbo Pascal的创始人 安德斯 海尔斯伯格 5 6 7 8 TypeScript是为开发大型應用程式而设计的 且可转译成JavaScript 9 由于TypeScript是JavaScript的严格語法超集 因此任何現有的JavaScript程式都是合法的TypeScript程式 TypeScript支援為現存JavaScript函式庫添加型別資訊的定义文件 方便其他程序像使用静态型別的TypeScript實體一样 使用现有程式库中的值 就像是C 的標頭檔可以描述目的檔 objectfile 的結構一樣 有許多第三方標頭檔為熱門函式庫像是jQuery MongoDB Node js和D3 js等提供定义文件 TypeScript编译器本身也是用TypeScript编写 并被转译为JavaScript 以Apache许可证第二版发布 目录 1 背景 2 设计背景 2 1 ECMAScript 6支持 3 语言特性 3 1 类型批注 3 1 1 声明文件 3 2 類別 3 3 函式 3 4 模組和命名空間 4 与JavaScript的兼容性 5 支持的浏览器和平台 6 开发工具 6 1 编译器 6 2 IDE和编辑器支持 7 开源 8 参见 8 1 其它编译为JavaScript的语言 9 参考资料 10 外部链接背景 编辑经过微软两年的内部开发后 TypeScript于2012年10月首次发布 0 8版本 10 11 在发布后不久 Miguel de Icaza认可了这门语言 但批评了其糟糕的IDE支持性 仅有Microsoft Visual Studio IDE支持其代码 但此IDE当时未在Linux和OS X操作系统上发布 12 13 如今 在其他IDE中 例如 Eclipse 通过Palantir Technologies提供的插件支持 能支持TypeScript语法 14 15 大部分主流的文本编辑器 例如 Emacs Vim WebStorm Atom 16 和微软发布的Visual Studio Code也能支持TypeScript语法 17 2013年发布的 TypeScript 0 9增加了对泛型的支持 18 TypeScript 1 0在2014年的微软开发者大会上发布 19 Visual Studio 2013 Update 2为TypeScript提供了原生支持 20 2014年7月 开发团队发布了新的TypeScript编辑器 声称其性能提高了5倍 同时 代码托管由CodePlex迁移至GitHub 21 2016年9月22日 TypeScript 2 0发布 其中引入了几个功能 例如开发者可以选择不为变量分配空值等 22 2018年7月30日 TypeScript 3 0发布 23 其中包含许多新功能 例如剩余参数 页面存档备份 存于互联网档案馆 展开语法 页面存档备份 存于互联网档案馆 带有元组的剩余参数 带有通用类型的剩余参数等 24 设计背景 编辑TypeScript起源于JavaScript在微软以及客户中开发大型应用中遇到的缺点 25 处理复杂JavaScript代码带来的挑战使他们需要自定义工具来简化组件开发流程 26 TypeScript开发者寻求一种不破坏现有标准兼容性和跨平台支持的解决方案 直到ECMAScript标准为未来基于类编程提供支持后 Typescript开发便基于此方案 这形成了包含一组新的语法扩展的一个JavaScript编译器 一个基于此提案的超集 可将TypeScript语法编译为常规的JavaScript 从这个意义上来讲 TypeScript是ECMAScript2015预期内容的预览版本 提案中未包括的可选静态类型被添加到了TypeScript中 有助于促进工具和IDE支持 ECMAScript 6支持 编辑 主条目 ECMAScript 6th Edition ECMAScript 2015 TypeScript添加了ECMAScript 2015标准中定义的类 模块和箭头函数等语法的支持 语言特性 编辑TypeScript是一种為JavaScript添加特性的语言扩展 增加的功能包括 类型批注和编译时类型检查 类型推断 类型擦除 接口 枚举 Mixin 泛型编程 命名空间 元组 async await以下功能是从ECMA 2015反向移植而来 类 模块 27 匿名函数的箭头语法 可选参数以及默认参数在语法上 TypeScript很类似JScript NET 它是另外一个微软对ECMA 262语言标准的实现 添加了对静态类型 经典的面向对象语言特性 如类 继承 接口和命名空间等 的支持 类型批注 编辑 TypeScript通过类型批注提供静态类型 以在编译时启动类型检查 这是可选的 而且可以忽略而使用JavaScript常规的动态类型 function add left number right number number return left right 对于基本类型的批注是number boolean和string 而弱型別或动态类型的结构则是any类型 类型批注可以被导出到一个单独的 声明文件 让使用已被编译为JavaScript类型的TypeScript脚本中的类型信息仍可用 批注可以为现有的JavaScript库声明 就像Node js和jQuery所做的那样 没有给出类型时 TypeScript编译器會利用类型推断来推断类型 如果由于缺乏声明而不能推断出类型 那么它的类型將默认為动态any类型 声明文件 编辑 当一个TypeScript脚本被编译时 有一个产生作为编译后的JavaScript的组件的一个接口而起作用的声明文件 具有扩展名 d ts 的选项 在这个过程中编译器基本上带走所有的函数和方法体而仅保留所导出类型的批注 当第三方开发者从TypeScript中使用它时 由此产生的声明文件就可以被用于描述一个JavaScript库或模块导出的虚拟的TypeScript类型 声明文件的概念类似于C C 中头文件的概念 declare module Arithmetics export function add left number right number number export function subtract left number right number number export function multiply left number right number number export function divide left number right number number 可以为已存在的JavaScript库 如jQuery和Node js 撰写类型声明文件 類別 编辑 TypeScript支持集成了可选的類別批注支持的ECMAScript6的类 class Person private name string private age number constructor name string age number this name name this age age toString string return this name this age 函式 编辑TypeScript支援函式编程 以下為恆等函數的範例 function id lt T gt x T T return x 模組和命名空間 编辑 在TypeScript中 模組和命名空間是被區分開的 這兩項功能在TypeScript中皆支援將類型 介面 函數和變數封裝至容器內 命名空間 舊稱內部模組 使用JavaScript的立即呼叫函式表達式來封裝程式碼 而模組 舊稱外部模組 則是以JavaScript函式庫模式來達成 非同步模組定義或CommonJS 与JavaScript的兼容性 编辑TypeScript是JavaScript的超集 默认情况下编译器以ECMA Script 3 ES3 为目标但ES5也是受支持的一个选项 一个TypeScript应用可以利用已存在的JavaScript脚本 编译后的TypeScript脚本也可以在JavaScript中使用 现有框架如jQuery和Node js等受到完全支持 这些库的类型声明在源代码中提供 支持的浏览器和平台 编辑运行于任何平台上的任何网页浏览器都可以运行 TypeScript 來源請求 由于它仅仅是被编译为标准的JavaScript 一个脚本既可以被预编译为JavaScript 也可以通过为TypeScript包含JavaScript编译器实时编译 开发工具 编辑编译器 编辑 TypeScript编译器 叫做tsc 本身也是用TypeScript写成的 可以将TypeScript编译为可以在任何JavaScript引擎 如浏览器 中执行的标准JavaScript 编译器包也包含了脚本解释器 用来执行编译器 同时也有个Node js包 在Node js平台执行 另外还有一个用JavaScript写的alpha版本的客户端编译器 它在页面载入时 实时执行TypeScript代码 28 这种编译器的当前版本默认支持ECMAScript 2015 一个选项是允许以ECMAScript 2015为目标 以利用该版本独有的语言特性 比如生成器 类是ECMAScript 2015标准的一部分 在这两个模式下都可以使用 IDE和编辑器支持 编辑 微软为Visual Studio 2012和WebMatrix提供了一个插件 在Visual Studio 2013和Visual Studio 2015中内嵌了支持 也为Sublime Text Emacs和Vim提供了基本的文本编辑器支持 29 Visual Studio Code是一个开源的 跨平台的代码编辑器 是微软在Electron的基础上开发的 它支持TypeScript 同时也支持其他几个语言 同时提供了调试和自动代码补全的功能 JetBrains在他们的IDE系列中支持TypeScript 而且已经发行了具有部分支持的PhpStorm 6和WebStorm 6以及IntelliJ IDEA 30 同时他们的Visual Studio扩展ReSharper 页面存档备份 存于互联网档案馆 8 1也支持 31 Atom也有一个TypeScript插件 由Basarat开发 支持代码补全 跳转 格式化和快速完成 在线的Cloud9 IDE和Codenvy也支持TypeScript NetBeans也有一个插件 Eclipse IDE Kepler 也有一个插件 TypEcs 也是一个Eclipse IDE插件 Microsoft为Sublime Text提供了TypeScript插件 跨平台云IDE Codeanywhere支持TypeScript Webclipse 是一个Eclipse插件 用于开发TypeScript 和 Angular 2 Angular IDE 是一个可以从npm安装的IDE 可以开发TypeScript 和Angular 2应用 集成终端支持 Tide 页面存档备份 存于互联网档案馆 Emacs的TypeScript交互开发环境开源 编辑TypeScript是开源的 其源代码可以在Apache 2 License下从Github获得 这个项目由Microsoft维护 但是任何人可以通过在Github项目页发送反馈 提出建议和提交bugfixes而做出贡献 32 已有一些批评提到 TypeScript鼓励强类型 当前只有Microsoft Visual Studio支持在该语言上方便开发 最初的方案是在其它的编辑器上带来强类型 IntelliSense 英语 IntelliSense 代码完成和代码重构的功能 但这可能不是一个简单的任务 33 此外 支持TypeScript开发的Visual Studio扩展不是开源的 最好的TypeScript开发体验是在Microsoft Windows上 34 然而随着时间的流逝以及这种语言的开放性 加之编译器自我托管 而且用TypeScript自身写的 这很有可能会改变 通过编译器的源代码访问到AST 抽象句法树 以及详细的语言规范文档 社群已开始构建一个跨平台的编辑器 35 36 利用和Visual Studio所用到的相同的语言服务以提供一个增强的编辑体验 编辑器仍然在概念检验的阶段 但已经运行于Linux macOS和Windows 提供功能强度相同的IntelliSense 代码完成和句法高亮方法 参见 编辑JavaScript ECMAScript其它编译为JavaScript的语言 编辑 CoffeeScript Dart HaXe参考资料 编辑 TypeScript CodePlex 2015 04 26 原始内容存档于2015 04 03 https github com microsoft TypeScript releases tag v5 0 2 Type Compatibility TypeScript 2018 03 21 原始内容存档于2018 03 12 TypeScript GitHub官网 原始内容存档于2017 01 04 Foley Mary Jo Microsoft takes the wraps off TypeScript a superset of JavaScript ZDNet CBS Interactive 2012 10 01 2015 04 26 原始内容存档于2014 11 13 Somasegar S Somasegar s blog Somasegar s blog Microsoft 2012 10 01 2015 04 26 原始内容存档于2015 04 22 Baxter Reynolds Matt Microsoft TypeScript Can the father of C save us from the tyranny of JavaScript ZDNet 2012 10 01 2015 04 26 原始内容存档于2014 08 03 Jackson Joab Microsoft Augments Javascript for Large scale Development CIO IDG Enterprise 2012 10 01 2015 04 26 原始内容存档于2013 12 17 Microsoft TypeScript the JavaScript we need or a solution looking for a problem Ars Technica 2012 10 09 原始内容存档于2015 03 29 Microsoft augments JavaScript for large scale development InfoWorld IDG 1 October 2012 26 April 2015 原始内容存档于2013 05 31 Turner Jonathan Announcing TypeScript 1 0 TypeScript Language team blog Microsoft 2 April 2014 26 April 2015 原始内容存档于2015 05 02 Microsoft TypeScript Can the father of C save us from the tyranny of JavaScript ZDNet 1 October 2012 12 October 2012 原始内容存档于2014 08 03 And I think this is a pretty big misstep If you re building web apps that run on anything other than Windows you re likely using a Mac and most likely not using Visual Studio You need the Visual Studio plug in to get the IntelliSense All you get without Visual Studio is the strong typing You don t get the productivity benefits you get from IntelliSense Miguel de Icaza TypeScript First Impressions 1 October 2012 12 October 2012 原始内容存档于2019 02 24 But TypeScript only delivers half of the value in using a strongly typed language to Unix developers strong typing Intellisense code completion and refactoring are tools that are only available to Visual Studio Professional users on Windows There is no Eclipse MonoDevelop or Emacs support for any of the language features TypeScript Unterstutzung fur Eclipse heise Developer 6 August 2013 26 April 2015 原始内容存档于2018 07 11 TypeScript Eclipse Marketplace Eclipse Foundation 26 April 2015 原始内容存档于2018 10 10 TypeStrong The only TypeScript package you will ever need 21 July 2016 原始内容存档于2018 12 19 Hillar Gaston Working with TypeScript in Visual Studio 2012 Dr Dobb s Journal 14 May 2013 26 April 2015 原始内容存档于2018 09 29 TypeScript 0 9 arrives with new compiler support for generics The Register 18 June 2013 26 April 2015 原始内容存档于2018 03 11 Hejlsberg Anders TypeScript Channel 9 Microsoft 2 April 2014 26 April 2015 原始内容存档于2015 05 25 Jackson Joab Microsoft TypeScript graduates to Visual Studio PC World IDG 25 February 2014 26 April 2015 原始内容存档于2016 03 11 Turner Jonathan New Compiler and Moving to GitHub TypeScript Language team blog Microsoft 21 July 2014 26 April 2015 原始内容存档于2015 10 27 Bright Peter TypeScript Microsoft s JavaScript for big applications reaches version 2 0 Ars Technica Conde Nast 22 September 2016 22 September 2016 原始内容存档于2018 12 21 Announcing TypeScript 3 0 30 July 2018 16 March 2020 原始内容存档于2020 05 30 TypeScript 3 0 30 July 2018 16 March 2020 原始内容存档于2020 06 06 Anders Hejlsberg What is TypeScript and why with Anders Hejlsberg www hanselminutes com 5 October 2012 15 January 2014 原始内容存档于2018 12 27 S Somasegar TypeScript JavaScript Development at Application Scale msdn com 1 October 2012 27 November 2013 原始内容存档于2015 04 22 存档副本 2012 11 10 原始内容存档于2012 11 13 niutech typescript compile GitHub 2015 04 26 原始内容存档于2018 06 11 Olivier Bloch Sublime Text Vi Emacs TypeScript enabled Microsoft 2012 10 01 2012 10 28 原始内容存档于2012 10 29 TypeScript support in WebStorm 6 JetBrains 2016 12 17 原始内容存档于2016 06 02 TypeScript support in ReSharper 8 1 JetBrains 2016 12 17 原始内容存档于2014 02 02 存档副本 2016 12 17 原始内容存档于2017 01 04 Miguel de Icaza TypeScript First Impressions 2012 10 01 2012 10 12 原始内容存档于2019 02 24 But TypeScript only delivers half of the value in using a strongly typed language to Unix developers strong typing Intellisense code completion and refactoring are tools that are only available to Visual Studio Professional users on Windows There is no Eclipse MonoDevelop or Emacs support for any of the language features Microsoft TypeScript Can the father of C save us from the tyranny of JavaScript ZDNet 2012 10 01 2012 10 12 原始内容存档于2014 08 03 And I think this is a pretty big misstep If you re building web apps that run on anything other than Windows you re likely using a Mac and most likely not using Visual Studio You need the Visual Studio plug in to get the IntelliSense All you get without Visual Studio is the strong typing You don t get the productivity benefits you get from IntelliSense Code Assistant for TypeScript 2013 01 07 原始内容存档于2013 01 21 TypeScript Editor 2012 11 21 2013 01 07 原始内容存档于2013 02 18 外部链接 编辑TypeScript官方网站 页面存档备份 存于互联网档案馆 TypeScript示例 页面存档备份 存于互联网档案馆 list of languages that compile to JS 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title TypeScript amp oldid 76609257, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。