ts的本质
1.ts与js本质并无区别,可以将ts理解为是添加了类型注解的js,比如 const num = 1同时符合ts和js的语法。
2.ts是一门中间语言,最终转译为纯js再交给各种终端解释执行。但ts并不会破坏js既有的知识体系,因为它并未创造迥异于 js的新语法。
ts更加可靠
ts的静态类型检测,让至少 10% 的js错误(主要是一些低级错误)能在开发阶段就被发现并解决。
面向接口编程
编写ts类型注解,本质就是接口设计。 极大可能改变你的思维方式,从而逐渐养成一个好习惯。编写具体的逻辑之前,我们需要设计好数据结构、编写类型注解,并按照这接口约定实现业务逻辑。
interface IUserInfo {
/** 用户 id */
id: number;
/** 用户名 */
name: string;
/** 头像 */
avatar?: string;
}
function UserInfo(props: IUserInfo) {
...
}
ts正成为主流
越来越多的主流框架(例如 React、Vue 3、Angular、Deno、Nest.js 等)要么选用ts编写源码,要么为ts提供了完美的支持。