考试前吃巧克力有什么好处| 高锰酸钾加什么会爆炸| 什么是冬虫夏草| 头发细软是什么原因| 阴阳八卦是什么生肖| 2月是什么星座| 维生素吃多了有什么副作用| 旧人是什么意思| 张良属什么生肖| uno是什么| 拍脑部ct挂什么科| 治飞蚊症用什么眼药水| 三七粉做面膜有什么功效| 手不释卷的释是什么意思| rbc红细胞偏高是什么意思| 眼睛出现重影是什么原因| 什么其不什么| 肌无力是什么原因引起的| 京东积分有什么用| 欢是什么动物| 血糖高可以吃什么水果| 吹空调咳嗽是什么原因| 洗衣粉和洗衣液有什么区别| 人生轨迹是什么意思| 什么牌子的冰箱最好| 哈密瓜苦是什么原因| 梅菜在北方叫什么菜| 新生儿五行缺什么查询| 369是什么意思| 喝酒不能吃什么东西| 尤加一笔是什么字| 什么肉好吃| 松鼠是什么生肖| 籽骨出现意味着什么| 茶叶有什么功效与作用| 便秘是什么原因引起的| 党委副书记是什么级别| 经信委是干什么的| 高铁什么时候检票| 哈尼是什么意思| yq是什么意思| 一天当中什么时候最热| 夜间盗汗是什么原因| 尿毒症有些什么症状| 手抖是什么原因导致的| 舌吻是什么意思| 黄加蓝色是什么颜色| 前列腺有什么症状| 吃东西想吐是什么原因| 系统b超主要检查什么| 广州立冬吃什么| 额头窄适合什么发型| 突然抽搐是什么原因| 结节性硬化症是什么病| 右耳朵热代表什么意思| 醛固酮高有什么危害| 甲状腺囊实性结节是什么意思| 哺乳期吃什么食物好| 验精挂什么科室| biw医学上是什么意思| 腿困是什么原因引起的| 11月24是什么星座| 手术室为什么在三楼| 3.8号是什么星座| 冷笑是什么意思| 老舍为什么自杀| 井什么有什么| 棉纱是什么面料| 轻如鸿毛是什么意思| 为什么近亲不能结婚| 夏天白鸽煲什么汤最好| 肺结节影是什么意思啊| 葫芦藓是什么植物| 力所能及什么意思| 做流产手术需要准备什么东西| 大排畸是什么检查| 疡是什么意思| 承认是什么意思| 可望不可求是什么意思| 本科一批和本科二批有什么区别| 瘸子是什么意思| 怀孕会有什么现象| 男人吃逍遥丸治什么病| 手指麻木是什么原因| 嘴巴里面起泡是什么原因引起的| 吃什么东西可以长高| 969368是什么电话| 纳采是什么意思| 淋巴细胞百分比低是什么意思| 炸薯条用什么粉| 铁蛋白高吃什么食物好| 尿有泡沫是什么原因| 干嘛是什么意思| 吃brunch是什么意思啊| 吹风扇感冒了吃什么药| 涵字取名的寓意是什么| 为什么会精神衰弱| 球蛋白适合什么人打| 胆固醇高应注意什么| pd是什么元素| 福不唐捐什么意思| 宠物蛇吃什么| 吃纳豆有什么好处| 眼睛干涩是什么原因| 法院是什么机关| 红色尿液是什么原因| 油是什么意思| 红酒是什么味道| mac版本是什么意思| 2020属什么生肖| 甲状腺属于什么科室| 农历10月14日是什么星座| 吃什么油最健康排行榜| 篱笆是什么东西| 什么眼镜品牌好| 右侧卵巢无回声是什么意思| 步兵什么意思| 新奇的什么| 梦到蜘蛛是什么意思| cp是什么单位| 绿萝叶子发黄是什么原因| 毋庸置疑什么意思| 张辽字什么| 客服是什么意思| 阴道镜是什么| 皮质醇低是什么原因| 才华横溢是什么生肖| 什么菜可以隔夜吃| 喝酒后胃不舒服吃什么药| 张紫妍为什么自杀| 贫血检查查什么项目| 品保是做什么的| 胸为什么一大一小| 吃什么减肥| 梦见死去的朋友是什么意思| 就不告诉你就不告诉你是什么儿歌| 孕前检查什么时候去最合适| 隔离是什么意思| 眼底出血用什么药最好| 主动脉硬化是什么意思| 籽料是什么意思| 间羟胺又叫什么| 比基尼是什么意思| 什么叫环比什么叫同比| 喝酒喝吐了用什么缓解| 让平是什么意思| cafe是什么意思| 宫腔少量积液是什么意思| 女性吃什么降低雄激素| 什么是血脂| 腹水是什么意思| 麦乳精是什么东西| 眼睛干涩吃什么药| 脸上爱长痘痘是什么原因| 脾虚喝什么泡水比较好| 八月十五是什么日子| w是什么意思| 左肩膀疼是什么原因| 一箭双雕是什么意思| 嗷嗷待哺是什么意思| 男属兔和什么属相最配| 豆角没熟中毒什么症状| 01什么意思| 04属什么生肖| 什么是正装| 指甲黑线是什么原因| 过度紧张会有什么症状| 所以我求求你别让我离开你是什么歌| 什么叫做焦虑症| 结肠炎吃什么中成药| 紧急避孕药什么时候吃最好| 中央候补委员什么级别| 耳朵出血是什么原因| 为什么脚会肿起来是什么原因| 坐月子可以喝什么饮料| 女人的排卵期是什么时候| 腺样体增生是什么意思| 催产素是什么| 过敏性鼻炎挂什么科| 核酸是什么| 肋骨外翻有什么危害| 导是什么意思| 哦吼是什么意思| 脚掌痒是什么原因| 小孩血压高是什么原因| 巧克力是什么做的| 肩周炎贴什么膏药效果最好| 人体缺钠会出现什么症状| 惗是什么意思| 身上长红痘痘是什么原因| 苏格兰牧羊犬吃什么| 软组织挫伤是什么意思| 孩子吐了吃什么药| 为什么总是梦见一个人| 黄牌车是什么意思| 豆沙色是什么颜色| 种马文是什么意思| 什么是芝士| 透亮是什么意思| 什么快递可以寄宠物| 孕妇前三个月吃什么对胎儿好| 叶酸有什么好处| 吃什么能提升血小板| 柠檬不能和什么一起吃| 属实是什么意思| 胸腔疼痛是什么原因| onlycook是什么牌子| 外伤用什么药愈合最快| 什么生日的人有佛缘| 久旱逢甘露是什么意思| 吃小米粥有什么好处| 早期肠癌有什么症状| 慢性咽喉炎吃什么药| 滴滴是什么意思| 洛阳以前叫什么名字| 阴湿是什么病| 小孩感冒吃什么饭菜比较好| 经期不能吃什么药| 附属医院是什么意思| 拉肚子拉稀水吃什么药| 80年属什么的| 肛门痒是什么原因| 欧阳修字什么| 早上一杯温开水有什么好处| 什么叫负氧离子| 血压下午高是什么原因| 皮肤过敏吃什么药好| 什么夕阳| 儿童缺铁吃什么补得快| 吃什么下奶快| 人心是什么意思| 血沉高说明什么问题| 孩提是什么意思| 眩晕去医院挂什么科室| 经期提前是什么原因| 不排卵是什么原因| 湿热内蕴吃什么中成药| 囊肿是什么意思| 什么是自限性疾病| bodywash是什么意思| 办理港澳通行证需要什么证件| 磺胺是什么药| 人绒毛膜促性腺激素是查什么的| 下半年有什么节日| 鬼压床是什么原因造成的| 农历七月是什么月份| 什么颜色属水| 什么地发现| 安陵容为什么恨甄嬛| 送老师什么礼物好| 孕晚期头晕是什么原因| 五行水多代表什么| 登革热是什么症状| 前列腺肥大是什么症状| 黑加仑是什么水果| 人生只剩归途什么意思| 天涯是什么意思| 骨折喝酒有什么影响吗| 一什么影子| 太阳鱼是什么鱼| 李子不能和什么一起吃| n标志的鞋子是什么牌子| 吃维生素a有什么好处| 什么是同位素| 百度

用车买车容易养车难 教你六种节省保养费用的

百度 那一年我14岁,花一样的年龄。

TypeScript (abbreviated as TS) is a high-level programming language that adds static typing with optional type annotations to JavaScript. It is designed for developing large applications and transpiles to JavaScript.[6] It is developed by Microsoft as free and open-source software released under an Apache License 2.0.

TypeScript
ParadigmMulti-paradigm: functional, generic, imperative, object-oriented
FamilyECMAScript
Designed?byMicrosoft,
Anders Hejlsberg,
Luke Hoban
DeveloperMicrosoft
First?appeared1?October 2012; 12 years ago?(2025-08-14)[1]
Stable release
5.9[2]?Edit this on Wikidata / 1 August 2025; 11 days ago?(1 August 2025)
Typing disciplineDuck, gradual, strong, structural[3]
Scopelexical
LicenseApache 2.0
Filename extensions.ts, .tsx, .mts, .cts
Websitewww.typescriptlang.org
Influenced by
C#, F#,[4] Java, JavaScript, ActionScript[5]
Influenced
AtScript, AssemblyScript, ArkTS

TypeScript may be used to develop JavaScript applications for both client-side and server-side execution (as with React.js, Node.js, Deno or Bun). Multiple options are available for transpiling. The default TypeScript Compiler can be used,[7] or the Babel compiler can be invoked to convert TypeScript to JavaScript.

TypeScript supports definition files that can contain type information of existing JavaScript libraries, much like C++ header files can describe the structure of existing object files. This enables other programs to use the values defined in the files as if they were statically typed TypeScript entities. There are third-party header files for popular libraries such as jQuery, MongoDB, and D3.js. TypeScript headers for the Node.js library modules are also available, allowing development of Node.js programs within TypeScript.[8]

The TypeScript compiler is written in TypeScript and compiled to JavaScript. It is licensed under the Apache License 2.0. Anders Hejlsberg, lead architect of C# and creator of Delphi and Turbo Pascal, has worked on developing TypeScript.[9][10][11][12]

History

edit

TypeScript was released to the public in October 2012, with version 0.8, after two years of internal development at Microsoft.[13][14] Soon after the initial public release, Miguel de Icaza praised the language, but criticized the lack of mature integrated development environment (IDE) support apart from Microsoft Visual Studio, which was unavailable then on Linux and macOS.[15][16] As of April 2021 there is support in other IDEs and text editors, including Emacs, Vim, WebStorm, Atom[17] and Microsoft's own Visual Studio Code.[18] TypeScript 0.9, released in 2013, added support for generics.[19]

TypeScript 1.0 was released at Microsoft's Build developer conference in 2014.[20] Visual Studio 2013 Update 2 provided built-in support for TypeScript.[21] Further improvement were made in July 2014, when the development team announced a new TypeScript compiler, asserted to have a five-fold performance increase. Simultaneously, the source code, which was initially hosted on CodePlex, was moved to GitHub.[22]

On 22 September 2016, TypeScript 2.0 was released, introducing several features, including the ability for programmers to optionally enforce null safety,[23] to mitigate what's sometimes referred to as the billion-dollar mistake.

TypeScript 3.0 was released on 30 July 2018,[24] bringing many language additions like tuples in rest parameters and spread expressions, rest parameters with tuple types, generic rest parameters and so on.[25]

TypeScript 4.0 was released on 20 August 2020.[26] While 4.0 did not introduce any breaking changes, it added language features such as Custom JSX Factories and Variadic Tuple Types.[26]

TypeScript 5.0 was released on 16 March 2023 and included support for decorators.[27]

On March 11, 2025 Anders Hejlsberg announced on the TypeScript blog that the team is working on a Go port of the TypeScript compiler to be released as TypeScript version 7.0 later this year. It is expected to feature a 10x speedup.[28]

Design

edit

TypeScript originated from the shortcomings of JavaScript for developing large-scale applications both at Microsoft and among their external customers.[29] Challenges with dealing with complex JavaScript code led to demand for custom tooling to ease developing of components in the language.[30]

Developers sought a solution that would not break compatibility with the ECMAScript (ES) standard and its ecosystem, so a compiler was developed to transform a superset of JavaScript with type annotations and classes (TypeScript files) back into vanilla ECMAScript 5 code. TypeScript classes were based on the then-proposed ECMAScript 6 class specification to make writing prototypal inheritance less verbose and error-prone, and type annotations enabled IntelliSense and improved tooling.

Features

edit

TypeScript adds the following syntax extensions to JavaScript:

Syntactically, TypeScript is very similar to JScript .NET, another Microsoft implementation of the ECMA-262 language standard that added support for static typing and classical object-oriented language features such as classes, inheritance, interfaces, and namespaces. Other inspirations include Java and C#.

Type annotations

edit

TypeScript provides static typing through type annotations to enable type checking at compile time.

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

Primitive types are annotated using all-lowercase types, such as number, boolean, bigint, and string. These types are distinct from their boxed counterparts (Number, Boolean, etc), which cannot have operations performed from values directly (a Number and number cannot be added). There are additionally undefined and null types for their respective values.

All other non-primitive types are annotated using their class name, such as Error. Arrays can be written in two different ways which are both syntactically the same: the generic-based syntax Array<T> and a shorthand with T[].

Additional built-in data types are tuples, unions, never, unknown, void, and any:

  • An array with predefined data types at each index is a tuple, represented as [type1, type2, ..., typeN].
  • A variable that can hold more than one type of data is a union, represented using the logical OR | symbol (string | number).
  • The never type is used when a given type should be impossible to create, which is useful for filtering mapped types.
  • The unknown type is used when dealing with data of an unpredictable shape. Unlike any, an unknown-typed variable will throw compilation errors when attempting to access properties or methods on that variable without first narrowing the type to something known. This type is often used for catching Errors, handling API responses, or user input.[32]
  • The void type is used to represent the lack of a type, e.g. from a function with no return statement.
  • A value of type any supports the same operations as a value in JavaScript and minimal static type checking is performed,[33] which makes it suitable for weakly or dynamically-typed structures. This is generally discouraged practice and should be avoided when possible.[34]

Type annotations can be exported to a separate declarations file to make type information available for TypeScript scripts using types already compiled into JavaScript. Annotations can be declared for an existing JavaScript library, as has been done for Node.js and jQuery.

The TypeScript compiler makes use of type inference when types are not given. For example, the add method in the code above would be inferred as returning a number even if no return type annotation had been provided. This is based on the static types of left and right being numbers, and the compiler's knowledge that the result of adding two numbers is always a number.

If no type can be inferred because of lack of declarations (such as in a JavaScript module without types), then it defaults to the dynamic any type. Additional module types can be provided using a .d.ts declaration file using the declare module "moduleName" syntax.

Declaration files

edit

When a TypeScript script gets compiled, there is an option to generate a declaration file (with the extension .d.ts) that functions as an interface to the components in the compiled JavaScript. In the process, the compiler strips away all function and method bodies and preserves only the signatures of the types that are exported. The resulting declaration file can then be used to describe the exported virtual TypeScript types of a JavaScript library or module when a third-party developer consumes it from TypeScript.

The concept of declaration files is analogous to the concept of header files found in C/C++.

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

Type declaration files can be written by hand for existing JavaScript libraries, as has been done for jQuery and Node.js.

Large collections of declaration files for popular JavaScript libraries are hosted on GitHub in DefinitelyTyped.

Generics

edit

TypeScript supports generic programming using a syntax similar to Java.[35] The following is an example of the identity function.[36]

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

Classes

edit

TypeScript uses the same annotation style for class methods and fields as for functions and variables respectively. Compared with vanilla JavaScript classes, a TypeScript class can also implement an interface through the implements keyword, use generic parameters similarly to Java, and specify public and private fields.

class Person {
    public name: string;
    private age: number;
    private salary: number;

    constructor(name: string, age: number, salary: number) {
        this.name = name;
        this.age = age;
        this.salary = salary;
    }

    toString(): string {
        return `${this.name} (${this.age}) (${this.salary})`;
    }
}

Union types

edit

Union types are supported in TypeScript.[37] The values are implicitly "tagged" with a type by the language, and may be retrieved using a typeof call for primitive values and an instanceof comparison for complex data types. Types with overlapping usage (e.g. a slice method exists on both strings and arrays, the plus operator works on both strings and numbers) don't need additional narrowing to use these features.

function successor(n: number | bigint): number | bigint {
    // types that support the same operations don't need narrowing
    return ++n;
}

function dependsOnParameter(v: string | Array<string> | number) {
    // distinct types need narrowing
    if (v instanceof Array) {
        // do something
    } else if (typeof(v) === "string") {
        // do something else
    } else {
        // has to be a number
    }
}

Enumerated types

edit

TypeScript adds an 'enum' data type to JavaScript.

enum CardSuit {Clubs, Diamonds, Hearts, Spades};
var c: CardsSit = CardSuit.Diamonds;

By default, enums number members starting at 0; this can be overridden by setting the value of the first:

enum CardSuit {Clubs = 1, Diamonds, Hearts, Spades};
var c: CardSuit = CardSuit.Diamonds;

All the values can be set:

enum CardSuit {Clubs = 1, Diamonds = 2, Hearts = 4, Spades = 8};
var c: CardSuit = CardSuit.Diamonds;

TypeScript supports mapping the numeric value to its name. For example, this finds the name of the value 2:

enum CardSuit {Clubs = 1, Diamonds, Hearts, Spades};
var suitName: string = CardSuit[2];

alert(suitName);

Modules and namespaces

edit

TypeScript distinguishes between modules and namespaces. Both features in TypeScript support encapsulation of classes, interfaces, functions and variables into containers. Namespaces (formerly internal modules) use JavaScript immediately-invoked function expressions to encapsulate code, whereas modules (formerly external modules) use existing JavaScript library patterns (CommonJS or ES Modules).[38]

Compatibility with JavaScript

edit

As TypeScript is simply a superset of JavaScript, existing JavaScript can be adapted to TypeScript and TypeScript program can seamlessly consume JavaScript. The compiler can target all ECMAScript versions 5 and above, transpiling modern features like classes and arrow functions to their older counterparts.

With TypeScript, it is possible to use existing JavaScript code, incorporate popular JavaScript libraries, and call TypeScript-generated code from other JavaScript.[39] Type declarations for these libraries are usually provided with the source code but can be declared or installed separately if needed.

Development tools

edit

Compiler

edit

The TypeScript compiler, named tsc, is written in TypeScript. As a result, it can be compiled into regular JavaScript and can then be executed in any JavaScript engine (e.g. a browser). The compiler package comes bundled with a script host that can execute the compiler. It is also available as a Node.js package that uses Node.js as a host.

The compiler can target a given edition of ECMAScript (such as ECMAScript 5 for legacy browser compatibility), but by default compiles for the latest standards.

IDE and editor support

edit
  • Microsoft provides a plug-in for Visual Studio 2012 and WebMatrix, full integrated support in Visual Studio 2013, Visual Studio 2015, and basic text editor support for Emacs and Vim.[40]
  • Visual Studio Code supports TypeScript in addition to several other languages, and offers features like debugging and intelligent code completion.
  • alm.tools is an open source cloud IDE for TypeScript built using TypeScript, ReactJS and TypeStyle.
  • JetBrains supports TypeScript with code completion, refactoring and debugging in its IDEs built on IntelliJ platform, such as PhpStorm 6, WebStorm 6, and IntelliJ IDEA,[41] as well as their Visual Studio Add-in and extension, ReSharper 8.1.[42][43]
  • Atom has a TypeScript plugin with support for code completion, navigation, formatting, and fast compilation.[44]
  • The online Cloud9 IDE and Codenvy support TypeScript.
  • A plugin is available for the NetBeans IDE.
  • A plugin is available for the Eclipse IDE (version Kepler)
  • TypEcs is available for the Eclipse IDE.
  • The Cross Platform Cloud IDE Codeanywhere supports TypeScript.
  • Webclipse An Eclipse plugin designed to develop TypeScript and Angular 2.
  • Angular IDE A standalone IDE available via npm to develop TypeScript and Angular 2 applications, with integrated terminal support.
  • Tide?– TypeScript Interactive Development Environment for Emacs.

Integration with build automation tools

edit

Using plug-ins, TypeScript can be integrated with build automation tools, including Grunt (grunt-ts[45]), Apache Maven (TypeScript Maven Plugin[46]), Gulp (gulp-typescript[47]) and Gradle (TypeScript Gradle Plugin[48]).

Linting tools

edit

TSLint[49] scans TypeScript code for conformance to a set of standards and guidelines. ESLint, a standard JavaScript linter, also provided some support for TypeScript via community plugins. However, ESLint's inability to leverage TypeScript's language services precluded certain forms of semantic linting and program-wide analysis.[50] In early 2019, the TSLint team announced the linter's deprecation in favor of typescript-eslint, a joint effort of the TSLint, ESLint and TypeScript teams to consolidate linting under the ESLint umbrella for improved performance, community unity and developer accessibility.[51]

Release history

edit
Legend:
Unsupported
Supported
Latest version
Preview version
Future version
Version number Release date Significant changes
Unsupported: 0.8 1?October?2012?(2025-08-14)
Unsupported: 0.9 18?June?2013?(2025-08-14)
Unsupported: 1.0 12?April?2014?(2025-08-14)
Unsupported: 1.1 6?October?2014?(2025-08-14) performance improvements
Unsupported: 1.3 12?November?2014?(2025-08-14) protected modifier, tuple types
Unsupported: 1.4 20?January?2015?(2025-08-14) union types, let and const declarations, template strings, type guards, type aliases
Unsupported: 1.5 20?July?2015?(2025-08-14) ES6 modules, namespace keyword, for..of support, decorators
Unsupported: 1.6 16?September?2015?(2025-08-14) JSX support, intersection types, local type declarations, abstract classes and methods, user-defined type guard functions
Unsupported: 1.7 30?November?2015?(2025-08-14) async and await support,
Unsupported: 1.8 22?February?2016?(2025-08-14) constraints generics, control flow analysis errors, string literal types, allowJs
Unsupported: 2.0 22?September?2016?(2025-08-14) null- and undefined-aware types, control flow based type analysis, discriminated union types, never type, readonly keyword, type of this for functions
Unsupported: 2.1 8?November?2016?(2025-08-14) keyof and lookup types, mapped types, object spread and rest,
Unsupported: 2.2 22?February?2017?(2025-08-14) mix-in classes, object type,
Unsupported: 2.3 27?April?2017?(2025-08-14) async iteration, generic parameter defaults, strict option
Unsupported: 2.4 27?June?2017?(2025-08-14) dynamic import expressions, string enums, improved inference for generics, strict contravariance for callback parameters
Unsupported: 2.5 31?August?2017?(2025-08-14) optional catch clause variables
Unsupported: 2.6 31?October?2017?(2025-08-14) strict function types
Unsupported: 2.7 31?January?2018?(2025-08-14) constant-named properties, fixed-length tuples
Unsupported: 2.8 27?March?2018?(2025-08-14) conditional types, improved keyof with intersection types
Unsupported: 2.9 14?May?2018?(2025-08-14) support for symbols and numeric literals in keyof and mapped object types
Unsupported: 3.0 30?July?2018?(2025-08-14) project references, extracting and spreading parameter lists with tuples
Unsupported: 3.1 27?September?2018?(2025-08-14) mappable tuple and array types
Unsupported: 3.2 30?November?2018?(2025-08-14) stricter checking for bind, call, and apply
Unsupported: 3.3 31?January?2019?(2025-08-14) relaxed rules on methods of union types, incremental builds for composite projects
Unsupported: 3.4 29?March?2019?(2025-08-14) faster incremental builds, type inference from generic functions, readonly modifier for arrays, const assertions, type-checking global this
Unsupported: 3.5 29?May?2019?(2025-08-14) faster incremental builds, omit helper type, improved excess property checks in union types, smarter union type checking
Unsupported: 3.6 28?August?2019?(2025-08-14) Stricter generators, more accurate array spread, better Unicode support for identifiers
Unsupported: 3.7 5?November?2019?(2025-08-14) Optional chaining, nullish coalescing
Unsupported: 3.8 20?February?2020?(2025-08-14) Type-only imports and exports, ECMAScript private fields, top-level await
Unsupported: 3.9 12?May?2020?(2025-08-14) Improvements in inference, speed improvements
Unsupported: 4.0 20?August?2020?(2025-08-14) Variadic tuple types, labeled tuple elements
Unsupported: 4.1 19?November?2020?(2025-08-14) Template literal types, key remapping in mapped types, recursive conditional types
Unsupported: 4.2 25?February?2021?(2025-08-14) Smarter type alias preservation, leading/middle rest elements in tuple types, stricter checks for the in operator, abstract construct signatures
Unsupported: 4.3 26?May?2021?(2025-08-14) Separate write types on properties, override and the --noImplicitOverride flag, template string type improvements
Unsupported: 4.4 26?August?2021?(2025-08-14) Control flow analysis of aliased conditions and discriminants, symbol and template string pattern index signatures
Unsupported: 4.5 17?November?2021?(2025-08-14) Type and promise improvements, supporting lib from node_modules, template string types as discriminants, and es2022 module
Unsupported: 4.6 28?February?2022?(2025-08-14) Type inference and checks improvements, support for ES2022 target, better ECMAScript handling
Unsupported: 4.7 24?May?2022?(2025-08-14) Support for ES modules, instantiation expressions, variance annotations for type parameters, better control-flow checks and type check improvements
Unsupported: 4.8 25?August?2022?(2025-08-14) Intersection and union types improvements, better type inference
Unsupported: 4.9 15?November?2022?(2025-08-14) satisfies operator, auto-accessors in classes (proposal), improvements in type narrowing and checks
Unsupported: 5.0 16?March?2023?(2025-08-14) ES decorators (proposal), type inference improvements, bundler module resolution mode, speed and size optimizations
Unsupported: 5.1 1?June?2023?(2025-08-14) Easier implicit returns for undefined and unrelated types for getters and setters
Unsupported: 5.2 24?August?2023?(2025-08-14) using declarations and explicit resource management, decorator metadata and named and anonymous tuple elements
Unsupported: 5.3 20?November?2023?(2025-08-14) Improved type narrowing, correctness checks and performance optimizations
Unsupported: 5.4 6 March 2024 Object.groupBy and Map.groupBy support
Unsupported: 5.5 20 June 2024 Inferred Type Predicates, Regular Expression Syntax Checking, and Type Imports in JSDoc
Unsupported: 5.6 9 September 2024 Advanced type inference, variadic tuple enhancements, partial module declarations.
Unsupported: 5.7 22 November 2024
Unsupported: 5.8 28 February 2025
Latest version: 5.9 31 July 2025
Future version: 6.0 Introduce some deprecations and breaking changes to align with the upcoming native codebase.
Future version: 7.0 2025 Rewrite in Go with faster performance.

See also

edit

References

edit

Citations

edit
  1. ^ "TypeScript". CodePlex. Archived from the original on 3 April 2015. Retrieved 26 April 2015.
  2. ^ "Release 5.9". 1 August 2025. Retrieved 9 August 2025.
  3. ^ "Type Compatibility". TypeScript. Archived from the original on 12 March 2018. Retrieved 21 March 2018.
  4. ^ "The Early History of F#" (PDF). Archived (PDF) from the original on 9 August 2024. Retrieved 5 February 2024. TypeScript was directly influenced by F#: one of the originators of TypeScript was Luke Hoban, who began TypeScript (then called Strada) immediately after working on F# 2.0. Recently he noted the influence of F# on early parts of the TypeScript design [Hoban 2017].
  5. ^ Nelson, Gary (28 April 2020). "How ActionScript foreshadowed TypeScript". Medium. Archived from the original on 9 August 2024. Retrieved 9 July 2022.
  6. ^ Bright, Peter (3 October 2012). "Microsoft TypeScript: the JavaScript we need, or a solution looking for a problem?". Ars Technica. Condé Nast. Archived from the original on 9 October 2018. Retrieved 26 April 2015.
  7. ^ "TypeScript Programming with Visual Studio Code". code.visualstudio.com. Archived from the original on 22 September 2022. Retrieved 12 February 2019.
  8. ^ "borisyankov/DefinitelyTyped". GitHub. Archived from the original on 1 November 2015. Retrieved 26 April 2015.
  9. ^ Foley, Mary Jo (1 October 2012). "Microsoft takes the wraps off TypeScript, a superset of JavaScript". ZDNet. CBS Interactive. Archived from the original on 13 November 2014. Retrieved 26 April 2015.
  10. ^ Somasegar, S. (1 October 2012). "TypeScript: JavaScript Development at Application Scale". Somasegar's blog. Microsoft. Archived from the original on 26 September 2017. Retrieved 26 April 2015.
  11. ^ Baxter-Reynolds, Matt (1 October 2012). "Microsoft TypeScript: Can the father of C# save us from the tyranny of JavaScript?". ZDNet. Archived from the original on 3 August 2014. Retrieved 26 April 2015.
  12. ^ Jackson, Joab (1 October 2012). "Microsoft Augments Javascript for Large-scale Development". CIO. IDG Enterprise. Archived from the original on 17 December 2013. Retrieved 26 April 2015.
  13. ^ "Microsoft augments JavaScript for large-scale development". InfoWorld. IDG. 1 October 2012. Archived from the original on 31 May 2013. Retrieved 26 April 2015.
  14. ^ Turner, Jonathan (2 April 2014). "Announcing TypeScript 1.0". TypeScript Language team blog. Microsoft. Archived from the original on 5 September 2015. Retrieved 20 October 2021.
  15. ^ de Icaza, Miguel (1 October 2012). "TypeScript: First Impressions". Archived from the original on 24 February 2019. Retrieved 12 October 2012. 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.
  16. ^ "Microsoft TypeScript: Can the father of C# save us from the tyranny of JavaScript?". ZDNet. 1 October 2012. Archived from the original on 3 August 2014. Retrieved 12 October 2012. 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.
  17. ^ "TypeStrong: The only TypeScript package you will ever need". GitHub. Archived from the original on 19 December 2018. Retrieved 21 July 2016.
  18. ^ Hillar, Gastón (14 May 2013). "Working with TypeScript in Visual Studio 2012". Dr. Dobb's Journal. Archived from the original on 29 September 2018. Retrieved 26 April 2015.
  19. ^ "TypeScript 0.9 arrives with new compiler, support for generics". The Register. 18 June 2013. Archived from the original on 11 March 2018. Retrieved 26 April 2015.
  20. ^ Hejlsberg, Anders (2 April 2014). "TypeScript". Channel 9. Microsoft. Archived from the original on 25 May 2015. Retrieved 26 April 2015.
  21. ^ Jackson, Joab (25 February 2014). "Microsoft TypeScript graduates to Visual Studio". PC World. IDG. Archived from the original on 11 March 2016. Retrieved 26 April 2015.
  22. ^ Turner, Jonathan (21 July 2014). "New Compiler and Moving to GitHub". TypeScript Language team blog. Microsoft. Archived from the original on 22 July 2014. Retrieved 26 April 2015.
  23. ^ Bright, Peter (22 September 2016). "TypeScript, Microsoft's JavaScript for big applications, reaches version 2.0". Ars Technica. Condé Nast. Archived from the original on 21 December 2018. Retrieved 22 September 2016.
  24. ^ "Announcing TypeScript 3.0". 30 July 2018. Archived from the original on 30 May 2020. Retrieved 16 March 2020.
  25. ^ "TypeScript 3.0". 30 July 2018. Archived from the original on 6 June 2020. Retrieved 16 March 2020.
  26. ^ a b "Announcing TypeScript 4.0". TypeScript. 20 August 2020. Archived from the original on 9 August 2024. Retrieved 30 October 2020.
  27. ^ "Documentation – TypeScript 5.0". www.typescriptlang.org. Archived from the original on 9 August 2024. Retrieved 18 May 2023.
  28. ^ Hejlsberg, Anders (11 March 2025). "A 10x Faster TypeScript". TypeScript. Retrieved 11 March 2025.
  29. ^ Hejlsberg, Anders (5 October 2012). "What is TypeScript and why with Anders Hejlsberg". www.hanselminutes.com. Archived from the original on 27 December 2018. Retrieved 15 January 2014.
  30. ^ Somasegar, S. (1 October 2012). "TypeScript: JavaScript Development at Application Scale". msdn.com. Archived from the original on 22 April 2015. Retrieved 27 November 2013.
  31. ^ "Documentation – TypeScript 5.2". www.typescriptlang.org. Archived from the original on 9 August 2024. Retrieved 9 November 2023.
  32. ^ "Handbook - Basic Types". www.typescriptlang.org. Retrieved 2 July 2025.
  33. ^ "TypeScript Language Specification p.24" (PDF). Archived from the original (PDF) on 17 November 2013.
  34. ^ "TypeScript: Documentation – Everyday Types". www.typescriptlang.org/. Archived from the original on 9 August 2024. Retrieved 30 March 2021.
  35. ^ Turner, Jonathan (18 June 2013). "Announcing TypeScript 0.9". TypeScript Language team blog. Microsoft. Archived from the original on 26 November 2013. Retrieved 18 June 2013.
  36. ^ "Generics in Typescript". Microsoft. Archived from the original on 5 April 2020. Retrieved 8 April 2020.
  37. ^ "Handbook - Unions and Intersection Types". www.typescriptlang.org. Retrieved 30 November 2020.
  38. ^ Sothmann, S?nke (31 January 2014). "An introduction to TypeScript's module system". blog.oio.de. Archived from the original on 1 February 2014. Retrieved 21 February 2014.
  39. ^ "Welcome to TypeScript". typescriptlang.org. Microsoft. Archived from the original on 10 March 2018. Retrieved 26 April 2015.
  40. ^ Bloch, Olivier (1 October 2012). "Sublime Text, Vi, Emacs: TypeScript enabled!". Microsoft. Archived from the original on 29 October 2012. Retrieved 28 October 2012.
  41. ^ "TypeScript support in WebStorm 6". JetBrains. 27 February 2013. Archived from the original on 2 June 2016. Retrieved 20 April 2013.
  42. ^ "TypeScript support in ReSharper 8.1". JetBrains. 28 October 2013. Archived from the original on 2 February 2014. Retrieved 21 January 2014.
  43. ^ "ReSharper: The Visual Studio Extension for .NET Developers by JetBrains". JetBrains.
  44. ^ "atom-typescript". Atom. Archived from the original on 4 October 2016. Retrieved 9 January 2020.
  45. ^ "TypeStrong/grunt-ts". GitHub. Archived from the original on 16 April 2020. Retrieved 26 April 2015.
  46. ^ "ppedregal/typescript-maven-plugin". GitHub. Archived from the original on 11 June 2018. Retrieved 26 April 2015.
  47. ^ "ivogabe/gulp-typescript". GitHub. Archived from the original on 11 June 2018. Retrieved 14 July 2017.
  48. ^ "sothmann/typescript-gradle-plugin". GitHub. Archived from the original on 11 June 2018. Retrieved 26 April 2015.
  49. ^ "TSLint". palantir.github.io. Archived from the original on 21 December 2022. Retrieved 11 February 2019.
  50. ^ Palantir (19 February 2019). "TSLint in 2019". Medium. Retrieved 24 April 2019.
  51. ^ "TSLint Deprecated to Focus Support on typescript-eslint". InfoQ. Archived from the original on 9 August 2024. Retrieved 24 April 2019.

Sources

edit
edit
黯然泪下是什么意思 闪购是什么 抽筋吃什么药见效快 西瓜都有什么品种 梦到死人是什么预兆
劳作是什么意思 马鲛鱼是什么鱼 左心房扩大是什么意思 悸动什么意思 阿司匹林肠溶片什么时候吃最好
画饼充饥是什么意思 海苔吃多了有什么坏处 保胎吃什么药 梦见喝酒是什么意思 例假推迟是什么原因
尿道口有灼热感是什么原因 一什么景象 痛风可以吃什么肉类和蔬菜 什么情况下吃奥司他韦 女生下面什么样
椰子鞋是什么牌子hcv8jop4ns3r.cn 喝什么酒不会胖hcv7jop4ns6r.cn basic是什么意思hcv9jop6ns4r.cn 3月28日什么星座hcv7jop6ns7r.cn 10月4日是什么星座onlinewuye.com
一国两制什么时候提出的hcv9jop5ns4r.cn 胃出血吃什么药好hcv8jop9ns0r.cn 嚼槟榔为什么上瘾creativexi.com 怀孕什么时候可以做b超hcv8jop3ns1r.cn 破处什么感觉hcv9jop7ns1r.cn
5月13号是什么星座hcv9jop3ns4r.cn 肢体拘挛是什么意思hcv7jop9ns7r.cn 梦到头上长虱子什么意思hcv9jop3ns5r.cn ysl属于什么档次hcv8jop3ns6r.cn 睡觉睁眼睛是什么原因hcv8jop4ns2r.cn
脑梗吃什么药效果最好hcv9jop8ns2r.cn 平安顺遂什么意思1949doufunao.com 夏至未至是什么意思hcv8jop6ns7r.cn 女娲是一个什么样的人hcv7jop6ns2r.cn 支气管炎不能吃什么naasee.com
百度