【山地人的思考】TypeScript这么火,谈谈我对TypeScript的一些拙见

1,290 阅读3分钟

为何会写这篇文章

之前在群里看到有些小伙伴在问关于TypeScript的学习和是否要在项目里用TypeScript的相关问题。今天正好看到了 你不知道的JavaScript 的作者 Kyle Simpson在谈他自己对TypeScript的态度,觉得不少我自己的想法和Kyle的很吻合。所以,就想写一篇文章记录自己的这些思绪和想法。

对TypeScript的态度

在B站发布了TypeScript的专题,但是这并不表示我会在项目中会全程使用TypeScript来构建项目。

学习TypeScript的目的

那既然不使用TypeScript来构建项目,那为何还要学习TypeScript。我想对于我自己来说,我学TypeScript的目的很简单,就是为了能够在阅读开源代码时。尤其是当开源库中有*.d.ts这种类型声明文件时,我能否明白这些接口的含义。当然,还有如果遇上一些开源库全程使用TypeScript的时候,我能否读懂这些代码。不会因为一些语法层面的一些小障碍,而阻碍了我去阅读源码。我想这就是我要去学TypeScript的原因和态度。

TypeScript和JavaScript会是什么样的关系

前几天自学群里还有小伙伴在问我,你觉得JavaScript某一天会被TypeScript替代吗,现在TypeScript这么火爆?我想这一天不太可能出现。很多问题我们加入时间的维度来看就会变得很有意思。

如果你在前端圈子里有一段时间(4-5年),你应该会知道有一门叫做 CoffeeScript的语言。现在的TypeScript和当年的火爆的CoffeeScript是一样的场景。我记得当时我的同事还推荐我去学学CoffeeScript,我想那时的情景和现在的TypeScript十分相像。历史有时候就是在不断的重演,很有意思。

对于TypeScript的一些看法,我比较倾向于Kyle的观点。TypeScript是为了帮助解决一些在使用时会出现类型问题的前端来解决类型问题。如果你使用JavaScript很少有类型相关的困扰和问题,那TypeScript其实对你就没有太多的帮助。另外这些语言不管是曾经的CoffeeScript还是现如今的TypeScript,他们在JavaScript的历史上都只会是一段时间的过客。当然他们的存在也是有意义的。这些对语言的扩展探索,都会给JavaScript语言本身的规则制定者带来一些新的思考。他们中的良好的特性将来或许会被直接纳入到JavaScript语言之中,成为语言特性的一部分。我想这也是他们现在存在的意义。

就像当年火极一时的JQuery,再看看现在的DOM里的那些查询DOM元素的API,语言本身也会吸收一些外围框架的优良特性。

小结

我想上面这些,就是我对TypeScript的一点个人看法和思考。我不会关闭这扇学习TypeScript的窗子,但是我也不会觉得现在火爆的TypeScript就能改变JavaScript的历史,这就是我对它的态度。