了解TypeScript
TypeScript
简称:TS,是 JavaScript 的超集。简单来说就是:JS 有的 TS 都有。JS写的代码在TS的环境下都能跑。
它与JS最大的不同就是,在 JS 的基础之上,为 JS 添加了类型支持。TypeScript = Type
+ JavaScript
TypeScript 是微软开发的开源编程语言,可以在任何运行 JavaScript 的地方运行。
为什么要为 JS 添加类型支持?
JS的缺陷
-
JS 的类型系统是弱类型的,没有类型的概念
let ar = 11 // 这里是数值 ar = [] // 偷偷的改成了数组类型 arr.toFixed(2) // 这里会报类型错误
没有类型校验,导致了在使用 JS 进行项目开发时,会经常遇到类型错误的问题,增加了找 Bug、改 Bug 的时间,严重影响开发效率。
-
JavaScript 属于动态类型的编程语言
边解释边执行,错误只能在运行阶段才能发现。
TS属于静态类型的编程语言
-
它要先编译,再执行。不能直接执行,需要编译成js才能执行
-
它会在编译期间做类型检查,从而提前发现错误。配合 VSCode 等开发工具,TS 可以提前到在编写代码的同时就发现代码中的类型错误,减少找 Bug、改 Bug 时间
TypeScript的使用
安装包:npm i -g typescript
-
typescript 包:用来编译 TS 代码的包,提供了
tsc
命令,实现了 TS -> JS 的转化 -
验证是否安装成功:
tsc –v
(查看 typescript 的版本)
注意:Mac 电脑安装全局包时,需要添加 sudo
获取权限:sudo npm i -g typescript
编译并运行 TS 代码
步骤
-
创建js文件。例如 hello.ts 文件(注意:TS 文件的后缀名为
.ts
) -
编译。将 TS 编译为 JS
在终端中输入命令,
tsc hello.ts
(此时,在同级目录中会出现一个同名的 JS 文件) -
执行 JS 代码。
-
在node中运行。在终端中输入命令,
node hello.js
-
在浏览器中运行。
-
类型推论机制
在 TS 中,某些没有明确指定类型的情况下,TS 的类型推论机制会自动提供类型。好处:由于类型推论的存在,有些情况下的类型注解可以省略不写
发生类型推论的 2 种常见场景
-
声明变量并初始化时