如何评价 TypeScript

 我来答
CrystalGuo凍檸
2016-02-18 · TA获得超过455个赞
知道小有建树答主
回答量:531
采纳率:0%
帮助的人:304万
展开全部
用了几个月的 TS 写前端。

TS 在 1.4 前是残废。1.4 引入的 union types 和 type alias 算是非常重要的。没有这两个特性,TypeScript 能提供的编译期类型检查甚至还不如咐银 JSDoc 的 type annotation 来得好用。尤其是没有 type alias 的话,定义一个 callback 都要用 interface,实在蛋疼。

后来我用 TS 写一缺贺个新的项目,把我写的 TS 编译成 JS 放到线上后,其他人纷纷表示不会 TS,修 bug 和加特性时直接在编译出的 JS 的基础上改了。我后来把变更一点点加回 TS 源文件的时候,不得不 diff 一下 JS 文件的变化,一行一行地在 TS 里对应伏简派着改,实在令人唏嘘。

其实对我来说 TypeScript 令人不悦的一点是,官方明确指出,TS 不会提供任何 run-time type information 有关的特性。然而 TS 的工作场合就常常涉及把服务器返回的 JSON 转成 JS objects、把 cookie 转成 JS objects 之类的事情,没有 run-time type information 的支持,实在是最大最大的硬伤。运行时无类型信息这一点更是使得很多东西不得不在 run-time 手动去 cast,这使得编译期带来的类型安全保障荡然无存。这几点可参见我评论里补充的例子。

如果有 TypeScript 的超集或是扩展能够提供 run-time type information 的话,那我想必是非常开心的。
富港检测技术(东莞)有限公司_
2024-06-06 广告
ISTA3L是一个基于研究、数据驱动的测试协议,它模拟了由零售公司完成的产品订单被直接运送给消费者时所经历的危险,它允许用户评估包装产品的能力,以承受运输和处理包装产品时所经历的供应链危险,从接收到任何电子商务零售商履行操作,直到最终消费者... 点击进入详情页
本回答由富港检测技术(东莞)有限公司_提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式