TypeScript:修订间差异
创建页面,内容为“{{Infobox | 标题 = TypeScript | 内容 = {{!}}- ! 中文名 {{!}} TypeScript {{!}}- ! 英文名 {{!}} TypeScript {{!}}- ! 开发方 {{!}} 微软(Microsoft)<ref name="baidu">[https://baike.baidu.com/item/typescript TypeScript(百度百科)]</ref> {{!}}- ! 首次发布 {{!}} 2012年10月<ref name="baidu" /> {{!}}- ! 编程范型 {{!}} 多范式:面向对象、泛型、函数式 {{!}}- ! 设计者 {{!}} Anders Hejlsberg {{!}}- ! 最新稳定版本 {{!…” |
IdleTap-bot(留言 | 贡献) 由旧格式Infobox转换为新参数格式(label/data),修复空信息框(由IdleTap-bot执行) |
||
| (未显示3个用户的4个中间版本) | |||
| 第1行: | 第1行: | ||
{{Infobox | {{Infobox | ||
| | | title = TypeScript | ||
| | |||
| label1 = 中文名 | |||
| data1 = TypeScript | |||
| label2 = 英文名 | |||
| data2 = TypeScript | |||
| label3 = 开发方 | |||
| data3 = 微软(Microsoft)<ref name="baidu">[https://baike.baidu.com/item/typescript TypeScript(百度百科)]</ref> | |||
| label4 = 首次发布 | |||
| data4 = 2012年10月<ref name="baidu" /> | |||
| label5 = 编程范型 | |||
| data5 = 多范式:面向对象、泛型、函数式 | |||
| label6 = 设计者 | |||
| data6 = Anders Hejlsberg | |||
| label7 = 最新稳定版本 | |||
| data7 = 6.0(2026年3月23日)<ref name="baidu" /> | |||
| label8 = 类型系统 | |||
| data8 = 静态类型、结构类型、类型推断 | |||
| label9 = 主要实现 | |||
| data9 = TypeScript编译器(参考实现) | |||
| label10 = 操作系统 | |||
| data10 = 跨平台 | |||
| label11 = 许可证 | |||
| data11 = Apache License 2.0 | |||
| label12 = 文件扩展名 | |||
| data12 = .ts, .tsx | |||
| label13 = 网站 | |||
| data13 = [https://www.typescriptlang.org/ www.typescriptlang.org] | |||
}} | }} | ||
'''TypeScript''' 是微软开发的一款开源编程语言,它是 JavaScript 的一个超集,在 JavaScript 的基础上添加了可选的静态类型和基于类的面向对象编程等特性。<ref name=" | '''TypeScript''' 是[[微软]]开发的一款开源[[编程]]语言,它是 [[JavaScript]] 的一个超集,在 [[JavaScript]] 的基础上添加了可选的静态类型和基于类的面向对象编程等特性。<ref name="b[[AI|ai]]du" /><ref name="mdn">[https://developer.mozilla.org/zh-TW/docs/Glossary/TypeScript TypeScript – MDN Web Docs]</ref>TypeScript 代码通过编译器转译为 [[JavaScript]] 代码,可运行在任何[[浏览器]]、任何[[操作系统]]以及任何支持 [[Java]]Script 的宿主环境上。<ref name="baidu" /><ref name="typescript-lang">[https://www.typescriptlang.org/ TypeScript 官方网站]</ref>该语言由 Anders Hejlsberg 主导设计,旨在帮助开发者更高效地构建和管理大规模 JavaScript 应用程序。<ref name="typescript-lang" /> | ||
== 历史 == | == 历史 == | ||
TypeScript 由微软公司开发,于2012年10月首次公开发布。<ref name="baidu" />它的诞生源于使用 JavaScript 开发大型项目时所面临的挑战——随着项目规模的增长,JavaScript 动态类型特性导致的类型相关错误越来越难以在开发阶段被及时发现。<ref name="baidu" /><ref name="handbook">[https://www.typescriptlang.org/docs/handbook/intro.html The TypeScript Handbook]</ref>TypeScript 通过引入静态类型系统,使得开发工具(如 IDE | TypeScript 由微软公司开发,于2012年10月首次公开发布。<ref name="baidu" />它的诞生源于使用 JavaScript 开发大型项目时所面临的挑战——随着项目规模的增长,JavaScript 动态类型特性导致的类型相关错误越来越难以在开发阶段被及时发现。<ref name="baidu" /><ref name="handbook">[https://www.typescriptlang.org/docs/handbook/intro.html The TypeScript Handbook]</ref>TypeScript 通过引入静态类型系统,使得开发工具(如 [[IDE]])能够在代码运行前就捕获潜在的类型错误,从而提升了大型应用的开发效率和代码质量。<ref name="handbook" /> | ||
2025年3月,微软宣布将大幅提升 TypeScript 编译器的性能。<ref name="baidu" />2026年3月23日,微软发布了 TypeScript 6.0,这是基于原有 JavaScript 代码库的最后一个版本,作为一个过渡版本,旨在为向 7.0 版本迁移做准备。<ref name="baidu" />同日,微软宣布未来的 TypeScript 7.0 将使用 Go 语言重写底层编译器,预计编译速度将比 TypeScript 6.0 快约 10 倍。<ref name="baidu" />2026年4月,微软发布了 TypeScript 7.0 的 Beta 版本。<ref name="baidu" /> | 2025年3月,微软宣布将大幅提升 TypeScript 编译器的性能。<ref name="baidu" />2026年3月23日,微软发布了 TypeScript 6.0,这是基于原有 JavaScript 代码库的最后一个版本,作为一个过渡版本,旨在为向 7.0 版本迁移做准备。<ref name="baidu" />同日,微软宣布未来的 TypeScript 7.0 将使用 [[Go]] 语言重写底层编译器,预计编译速度将比 TypeScript 6.0 快约 10 倍。<ref name="baidu" />2026年4月,微软发布了 TypeScript 7.0 的 Beta 版本。<ref name="baidu" /> | ||
== 设计目标 == | == 设计目标 == | ||
| 第66行: | 第65行: | ||
=== 类型系统 === | === 类型系统 === | ||
TypeScript 的类型系统是其最核心的特性。它支持多种类型,包括基本类型(如 `string`、`number`、`boolean`)、数组、元组、枚举、`any`、`void`、`never` 等。<ref name="mdn" />TypeScript 采用结构类型系统(也称为“鸭子类型”),即类型的兼容性取决于其成员结构而非显式声明。<ref name="handbook" /> | TypeScript 的类型系统是其最核心的特性。它支持多种类型,包括基本类型(如 `string`、`number`、`boolean`)、数组、元组、枚举、`any`、`void`、`never` 等。<ref name="mdn" />TypeScript 采用结构类型系统(也称为“[[鸭]]子类型”),即类型的兼容性取决于其成员结构而非显式声明。<ref name="handbook" /> | ||
=== 类型推断 === | === 类型推断 === | ||
TypeScript 可以在许多情况下自动推断变量的类型,无需开发者显式注解。例如,当创建一个变量并赋予一个特定值时,TypeScript 会将该值作为其类型。<ref name="mdn" /><ref name="typescript-js">[https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html TypeScript for JavaScript Programmers]</ref> | TypeScript 可以在许多情况下自动推断变量的类型,无需开发者显式注解。例如,当创建一个变量并赋予一个特定值时,TypeScript 会将该值作为其类型。<ref name="mdn" /><ref name="typescript-[[js]]">[https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html TypeScript for JavaScript Programmers]</ref> | ||
=== 接口与泛型 === | === 接口与泛型 === | ||
| 第86行: | 第85行: | ||
== 开发工具与生态系统 == | == 开发工具与生态系统 == | ||
TypeScript 编译器(`tsc`)是官方的参考实现,可通过 npm 安装使用。<ref name="typescript-lang" />主流的代码编辑器(如 Visual Studio Code、WebStorm 等)和构建工具(如 Webpack、Rollup 等)都对 TypeScript 提供了良好的支持。<ref name="handbook" /> | TypeScript 编译器(`tsc`)是官方的参考实现,可通过 npm 安装使用。<ref name="typescript-lang" />主流的代码编辑器(如 [[Visual Studio Code]]、WebStorm 等)和构建工具(如 Webpack、Rollup 等)都对 TypeScript 提供了良好的支持。<ref name="handbook" /> | ||
TypeScript 拥有活跃的开源社区,其源代码托管在 GitHub 上。<ref name="typescript-lang" />微软为 TypeScript 项目采用了开源行为准则。<ref name="typescript-lang" /> | TypeScript 拥有活跃的开源社区,其源代码托管在 GitHub 上。<ref name="typescript-lang" />微软为 TypeScript 项目采用了开源行为准则。<ref name="typescript-lang" /> | ||