
Java
我不清楚那些技术大牛们为何放弃(某个东西,这里暗指TS相关的内容),不过我明白像我这种水平一般的人为什么会有放弃的想法(其实我并没有真的放弃,只是之前在单位负责前端基础建设的时候,对使用TS的成本确实有所体会,特别是在团队协作的时候。一方面很难做到规范化,另一方面也没有足够的精力针对类型声明去编写单元测试)。TS的类型系统不同于常见语言的类型系统,它需要接受
JavaScript极为灵活的编写方式的考验。打个比较形象的比方,它得精准地描绘出
JavaScript开发者那种想要类型约束,但又不能过于严格的需求。这种模糊不清的类型约束,不管是理解起来还是编写起来,成本都非常高。特别是像带有元编程特性的框架项目,写出来的效果大家也都见识过了,就像玩类型
体操一样复杂。以前我写过一个小工具,用来给
JavaScript添加mixin功能,原本是个不到10行代码的代码片段。直到两年前我想给它加上类型约束时,就变成了另外一种情况:虽然这是两年前的TS,现在TS增加了很多功能,不需要写得这么麻烦了,但本质上并没有改变。自己在家写代码还好,要是在
公司写代码,整天琢磨这些东西,哪还有时间去体现业务价值?