前言

现在的前端开发基本上都会使用 ts 来代替 js。那么ts 和 js 的区别是什么,ts 的优势是什么?这里从几个方面来介绍。

区别

语言层面

从语言层面上来区分的话,ts 是 js 的超集。js 有的 ts 都有。属于一个内包含的关系。
typescript = javascript + type 即,ts 是 js 加上类型校验。

执行环境层面

js 是可以在浏览器和 node 中直接执行的,但是 ts 不可以,ts 需要编译成 js 被执行。
PS:但是 Deno 可以直接执行 ts。

编写层面

ts 写起来比 js 要麻烦,但是类型更安全,后期不容易出错。ts 的代码有 IDE 的提示,但是单纯的 js 代码没有 ide 的提示。现有的 ide 里的 js 提示其实是 ts 贡献的。

编译层面

TS 有编译阶段,JS 没有编译阶段。
PS:从一种语言转成另一种语言叫编译,但从一个语言的高级版本到该语言的低级版本叫转译。

优势

ts 因为有了类型校验,会减低代码开发的出错率,便于后期维护。ts 的文档提示也很友好。