当前位置:首页 > 每日看点 > 正文内容

如何看待 2025 年 3 月 11 日微软公开的 TypeScript-Go 项目?

卡卷网11个月前 (03-14)每日看点261

等了好多年的项目。。。之前项目里代码很多,VSCode 经常因为 TypeScript 卡死。

这是什么?用 Go 语言重写的 TypeScript 编译器,将成为后续的 TypeScript 7 版本。

怎么实现的?基本就是将 TypeScript 项目里的代码从 TypeScript 逐行转成 Go 语言,函数名都一样,下面是一个简单函数的对比:

/ /typescript 版本 function getElementTypeOfArrayType(type: Type): Type | undefined { return isArrayType(type) ? getTypeArguments(type)[0] : undefined; } // go 版本 func (c *Checker) getElementTypeOfArrayType(t *Type) *Type { if c.isArrayType(t) { return c.getTypeArguments(t)[0] } return nil }

为什么是用 Go 语言?如果既要性能又要方便迁移代码,这是当前最好的选择,因为有 GC 使得代码里很容易实现循环引用,相比之下 Rust 写起来就太麻烦了,必须依赖内存池等方案。

用什么用处?可以提升现有 IDE 里的语法检查及编译 TypeScript 的速度,号称提升 10 倍,利好大型 TypeScript 项目开发。

和现有工具比?现有的类似工具主要做编译,比如 SWC 等都不做类型检查,而 Typescript-Go 除了编译还会做类型检查,提供 LSP 服务等。

未来前景?主要用使用场景将局限在 IDE 中提供类型检查和 LSP 服务,预计编译速度不会超过 SWC,而且现在 Bun、Deno 及新版 Node 都直接支持运行 TypeScript 了,用起来方便得多。

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/03/11871.html

分享给朋友:

相关文章

学了两个月网络安全,一直未入门怎么办,知乎大佬们给些建议吧?

学了两个月网络安全,一直未入门怎么办,知乎大佬们给些建议吧?

你才学两个月,就想入门,笑不活了,我学了8年了,还被人说是个菜鸟。我学了这么多的渗透,依然挖不到自己的漏洞。ailx10:学习CSRF漏洞ailx10:学习PHP XXE漏洞ailx10:学习CORS漏洞ailx10:学习ClickJack...

网页上的视频怎么下载呀?

网页上的视频怎么下载呀?

1、贝贝BiliBili - B站视频下载https://xbeibeix.com/api/bilibili/贝贝BiliBili 是个免费、免登录的bilibili视频下载工具,没有任何套路。把视频链接粘贴进去 → 输入验证码 → 解析视...

开发了个小程序,咋推广呢?

要是开发了个小程序,想推广的话,可以先从自己的朋友圈子下手,让亲戚朋友都帮忙转发宣传,这样能先有点人气。然后去一些跟你的小程序相关的论坛、社区啥的,发帖子介绍介绍,吸引有兴趣的人。还能找些网红、博主合作,要是他们觉得你的小程序不错,帮忙推荐...

天涯论坛关闭后,除了知乎,大家都在逛什么?

天涯论坛关闭后,除了知乎,大家都在逛什么?

天涯神贴合集完整版,给大家整理好了!那年大学,打开天涯,感觉打开了一片新天地,里面什么样的人都有,有大神也有蛇神,比某乎好太多了,可惜后面关了很多年前,天涯社区曾出现了不少深受欢迎的帖子,成功地预言了许多形势和事件。这些帖子因此被冠以“天涯...

为什么有人觉得华为mate60只值2000?

为什么有人觉得华为mate60只值2000?

你以为买Mate60的人真的傻?真的那么爱国?国庆前,我家那傻子加价800多买了一台Mate60,当时还被我骂他是傻子。可是他说一回到公司就被老板同事朋友看到,拿去反复查看,都在惊叹他这么快就买到新机。跟亲戚朋友聚会,别人一看就知道他买的是...

夸克浏览器受欢迎的原因是什么?

夸克浏览器受欢迎的原因是什么?

这是可以说的嘛~哈哈,它比较吸引我的几点是:安全无广、页面简洁、功能丰富、反应速度快......首页页面支持自定义,喜欢什么样子都可以自己调整,没有花里胡哨的各种资讯推送,热搜日报整理归纳好,想看再点开查看,看着舒适度直接拉满!实用日常工具...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。