网易首页 > 网易号 > 正文 申请入驻

TypeScript 这十年

0
分享至

【CSDN 编者按】很多时候,仅从名称上来看,不少人对 TypeScript 与 JavaScript 傻傻分不清楚,或许只知道 TypeScript 作为 JavaScript 的后来者,想要将其取而代之,却时至今日未能如愿。

殊不知,TypeScript 诞生落地发展到当下,已有十年的时间。虽然未能达到 JavaScript 流行的高度,但也弥补了其不少不足之处。近日,微软 TypeScript 高级项目经理 Daniel Rosenwasser 在官网发文分享了 TypeScript 从早期到时间考验再到今天的整个演进历程,也带来了不一样的思考。

原文地址:https://devblogs.microsoft.com/typescript/ten-years-of-typescript/

编译 | 苏宓

出品 | CSDN(ID:CSDNnews)

以下为译文:

今天是 TypeScript 的生日!但是这个生日很特别——10 年前的今天,2012 年 10 月 1 日,TypeScript 首次公开亮相。

早期的情况

当 TypeScript 首次亮相时,有很多人持怀疑态度,这也是可以理解的。对于一些 JavaScript 用户来说,一个试图将静态类型引入 JavaScript 的团队可能听起来像是一个邪恶的组织,甚至可视为一个阴谋或笑话。

但是这些功能是有价值的,对吗?类型检查,在你保存文件之前捕捉 Bug,并获得丰富的编辑器功能,如代码完成、导航和重构?我们知道公司内外部的团队在处理复杂的 JavaScript 代码库时遇到了巨大的挑战,而且我们知道 JavaScript 将被广泛使用。因此,谁不希望有强大的工具来帮助编写它呢?对于团队来说,TypeScript 初心未变,一如最初在发布 TypeScript 时所述的那样,“在大型应用开发中使用 JavaScript 开发!"。

幸运的是,这个愿景使得很多的开发者产生了共鸣。在早期,我们建立了一个小而勤奋、热情的社区,当我们还在迭代、学习和构建一个甚至还没有达到 1.0 的东西时,很多人就愿意参与进来,进行实验和体验。我们看到了令人兴奋的新努力,如 DefinitelyTyped 项目,新的社区成员在 StackOverflow 和我们的问题跟踪器上提供帮助,创作者为该语言编写书籍和教程,以及押注 TypeScript 的新库。这些有耐心、努力工作、精力充沛的开发者为 TypeScript 社区的发展奠定了基础。

不过,大多数 JavaScript 开发人员对 TypeScript 仍持怀疑态度。那么,这个团队要如何说服 JavaScript 开发者相信静态类型在动态类型语言中的价值?

"类型与无类型"一直是一个有争议的话题,这在编程界至少可以追溯到半个世纪以前。

但是,我们真的想通过类型的力量来创造令人惊奇的 JavaScript 工具。

这能做到吗?

经得起时间的考验

事实是,这需要一种与我们习惯的完全不同的开发方法,其次是需要大家坚持不懈、拓展性和同理心。TypeScript 必须是免费和开源的,并以真正开放的方式进行。它还必须与现有的 JavaScript 无缝互通,与 JavaScript 共同发展,并且感觉像 JavaScript。

TypeScript 从未打算建立一种单独的、独特的、规定性的语言。相反,TypeScript 必须是描述性——围绕 JavaScript 生态系统中一些模式进行类型系统的创新。这让我们能够满足人们的需求,而且这种理念与项目的设计目标非常吻合。

实际上,TypeScript 的设计目标保持得如此之好,令人惊讶。

例如,一些设计目标:

  • "不会对发出的程序施加任何运行时开销。"

  • "与当前和未来的 ECMAScript 提案保持一致。"

  • "保留所有 JavaScript 代码的运行时行为。"

  • "避免增加表达式级别的语法。"

  • "使用一致的、完全可擦除的、结构化的类型系统。"

所有真正指向 TypeScript 只是简单地成为 JavaScript 的类型检查器,只添加类型检查所需的语法。

因此,我们主要关注类型系统,而避免增加新的运行时语法和行为。这在 10 年后的应用中,体现地可能更明显,但编程语言经常试图根据他们的可运行代码的样子来区分自己。此外,很多类型化语言根据类型来指导他们的运行时行为。

但是,这些方法在试图建立在 JavaScript 的基础上,并与之整合时,就没有意义了。没有类型的 JavaScript 在粘贴到 TypeScript 文件中时,必须有相同的工作方式,而且将 TypeScript 转换为 JavaScript 需要像剥离类型一样容易。我们在早期采取了一些错误的措施才意识到这一点,但这是一个学习的机会,并且微软团队在 10 年的大部分时间里都避免了运行时语法。

如今,当 TypeScript 缺少一个有用的运行时特性时,我们不会只在 TypeScript 中添加它。我们在 TC39(JavaScript 标准机构)内开始实践,指导或倡导新的功能,以便所有的 JavaScript 开发人员能够从中受益。

另一个成功的原则是,TypeScript 并没有试图成为工具箱中的每一个工具。我们的一个非目标是不 "提供一个端到端的构建管道。相反,使系统具有可扩展性,以便外部工具可以使用编译器进行更复杂的构建工作流程"。

有很多时候,TypeScript 被要求成为一个 linter、一个 bundler、一个优化器/minifier、一个构建协调器、再一个 bundler 等等。这些界限并不会每次被明确,尤其是当 TypeScript 作为一个类型检查器、编译器和语言服务已经做了很多。在 JavaScript 生态系统中,很多人参与到应用程序开发的最佳实践争斗中,由此 TypeScript 也不断地保持了灵活性,这一点非常重要。

考虑到过去几年中,所有不同的捆绑器、不同的运行时、不同的构建协调器和不同的锁定器,TypeScript 与其中的每一个都很好地整合了,并没有试图取代其中的任何一个,这一点也至关重要。我们很荣幸能与这个领域的工具作者合作,因为我们都在努力使 TypeScript 和 JavaScript 更容易使用。

回到今天

今天,TypeScript 是一种蓬勃发展的语言,全世界有数百万的开发人员在使用。在 StackOverflow 的年度调查、GitHub 的 Octoverse 报告和 Redmonk的语言排名等调查和语言排名中,TypeScript 一直处于开发者最常用和最喜爱的语言中的 Top 10。

当然,背景很重要——TypeScript 的使用从根本上与 JavaScript 的使用交织在一起,每个 TypeScript 开发者也是 JavaScript 开发者。值得庆幸的是,即使在询问 JavaScript 开发人员是否使用 TypeScript 并喜欢它时,比如在 JS 的状态调查中,答案也都会是 "是"!TypeScript 的成功是一个很好的例子。

今天的成功远远超过了核心团队几年前对 TypeScript 的想象,更不用说十年前了。核心团队在 TypeScript 上努力工作,但我们知道,实现这一成功的根本原因是社区。这包括 TypeScript 的外部贡献者、在 TypeScript 上下注并证明该语言的库创建者和日常开发者、DefinitelyTyped 的贡献者、社区组织者、花时间回答问题和教导他人并为新人开辟道路的专家。

也希望 TypeScript 的下一个 10 年能给你带来好的待遇!

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
国乒备战名单生变,两大老将无缘!解说员:他们已经开辟新赛道

国乒备战名单生变,两大老将无缘!解说员:他们已经开辟新赛道

体育见习官
2026-01-31 16:46:17
承担输球责任!姆巴佩向高层认错,抱怨没有帮手,夏窗或开启清洗

承担输球责任!姆巴佩向高层认错,抱怨没有帮手,夏窗或开启清洗

阿泰希特
2026-01-31 11:10:39
国家下狠手了!体制内大地震,少爷、公主们的“天”,要塌了

国家下狠手了!体制内大地震,少爷、公主们的“天”,要塌了

霹雳炮
2026-01-19 22:24:13
太残暴!白银史诗级大崩盘,大v做空1天赚120万?分析师:金属盛宴结束

太残暴!白银史诗级大崩盘,大v做空1天赚120万?分析师:金属盛宴结束

金石随笔
2026-01-31 09:58:47
美翻!37岁张帅身披国旗庆祝大满贯第3冠 获主场待遇+全场喊加油

美翻!37岁张帅身披国旗庆祝大满贯第3冠 获主场待遇+全场喊加油

我爱英超
2026-01-31 11:35:09
分手14年,释小龙何洁境遇天差地别,一个身家过亿,一个养不起娃

分手14年,释小龙何洁境遇天差地别,一个身家过亿,一个养不起娃

查尔菲的笔记
2026-01-09 22:17:44
江苏省政协最新任命名单

江苏省政协最新任命名单

无线徐州
2026-01-31 15:26:12
现货白银重挫25% 现货黄金跌超10%

现货白银重挫25% 现货黄金跌超10%

财联社
2026-01-31 01:56:33
原来有这么多工作需要保密!网友:牺牲12年的爸爸竟然回来了!

原来有这么多工作需要保密!网友:牺牲12年的爸爸竟然回来了!

另子维爱读史
2026-01-16 18:29:22
今天凌晨2点,断桥上全是人!“杭州好久没下这么大的雪了……”

今天凌晨2点,断桥上全是人!“杭州好久没下这么大的雪了……”

都市快报橙柿互动
2026-01-31 09:22:59
船记不满裁判无哨看回放!美球迷直言小哈三罚毁一切:4-16崩盘

船记不满裁判无哨看回放!美球迷直言小哈三罚毁一切:4-16崩盘

颜小白的篮球梦
2026-01-31 13:14:35
永远不可能被抹杀的历史:四野部队里的那三万日籍士兵

永远不可能被抹杀的历史:四野部队里的那三万日籍士兵

深度报
2026-01-21 21:25:16
任正非没想到,高调官宣喜讯的姚安娜,竟凭一个举动再次给他长脸

任正非没想到,高调官宣喜讯的姚安娜,竟凭一个举动再次给他长脸

一娱三分地
2026-01-31 16:08:25
心梗去世逐年增多?医生:牢记“3不喝、2不吃、1坚持”,别大意

心梗去世逐年增多?医生:牢记“3不喝、2不吃、1坚持”,别大意

袁医生课堂
2026-01-24 17:33:06
日本羽毛球界再次诞生超级美少女,韩媒疯狂报道

日本羽毛球界再次诞生超级美少女,韩媒疯狂报道

随波荡漾的漂流瓶
2026-01-22 12:00:14
天津小伙接29岁离婚表嫂同居后续:表嫂正脸照流出曝更多离婚内幕

天津小伙接29岁离婚表嫂同居后续:表嫂正脸照流出曝更多离婚内幕

削桐作琴
2026-01-28 18:17:22
还是做好准备吧,一美元只能兑换5.5元人民币时代,或许终会到来

还是做好准备吧,一美元只能兑换5.5元人民币时代,或许终会到来

娱乐八卦木木子
2026-01-31 10:52:14
暴跌60%,引来全国牙科关店潮,暴利的牙科生意真的走到了尽头?

暴跌60%,引来全国牙科关店潮,暴利的牙科生意真的走到了尽头?

小熊侃史
2026-01-17 07:50:11
金晨道歉一举三得!晒脸部受伤照有玄机,3大细节对不上惹质疑!

金晨道歉一举三得!晒脸部受伤照有玄机,3大细节对不上惹质疑!

古希腊掌管月桂的神
2026-01-30 18:28:50
演员金晨道歉后,喜之郎悄悄恢复被隐藏的内容、娇韵诗微博置顶换成迪丽热巴,阿迪达斯宣布金晨仍为其代言人

演员金晨道歉后,喜之郎悄悄恢复被隐藏的内容、娇韵诗微博置顶换成迪丽热巴,阿迪达斯宣布金晨仍为其代言人

扬子晚报
2026-01-31 10:31:01
2026-01-31 17:44:49
CSDN incentive-icons
CSDN
成就一亿技术人
26292文章数 242227关注度
往期回顾 全部

科技要闻

中国车企和特斯拉的下一战,战场已定

头条要闻

正部级王祥喜任上被查 4天前曾主持会议

头条要闻

正部级王祥喜任上被查 4天前曾主持会议

体育要闻

新时代得分王!东皇37+三双刷7纪录怒吼释放

娱乐要闻

成龙入驻小红书,怼脸近照没有老年斑

财经要闻

白银,暴跌!黄金,40年最大跌幅!

汽车要闻

新款宾利欧陆GT S/GTC S官图发布 V8混动加持

态度原创

手机
亲子
健康
教育
军事航空

手机要闻

realme真我16手机在越南发布,配置亮点多

亲子要闻

想让孩子长高?一定要多学习山东人的这6点

耳石症分类型,症状大不同

教育要闻

新加坡国立大学化学生物工程系张亚敏课题组招聘【生物电子、医疗器件、电化学】博士后

军事要闻

轰-6k在黄岩岛战备警巡示意图公布

无障碍浏览 进入关怀版