本文已参与「新人创作礼」活动,一起开启掘金创作之路。
1.TypeScript介绍
1.1TypeScript是什么
TypeScript(简称:TS)是JavaScript的超集(JS有的TS都有)。
TypeScript = Type+JavaScript(在JS基础之上,为JS添加了类型支持)。
TypeScript 是微软开发的开源编程怨言,可以在任何运行JavaScript的地方运行
1.2TypeScript为什么要为JS添加类型支持?
背景:JS的类型系统存在"先天缺陷",JS代码中绝大部分错误都是类型错误(Uncaught TypeError)。
问题:添加了找Bug、改Bug的时间,严重影响开发效率。
从变成语言的动静来区分,TypeScript属于静态类型的编程语言,JS属动态的变成语言。
静态类型:编译期做类型检查;动态类型:执行期做类型检查
代码编译和代码执行的顺序:1编译 2执行
对JS来说:需要等待代码真正去执行的时候才能发现错误(晚)
对TS来说:在编译的时候(代码执行前就可以发现错误)(早)
并且,配合VSCode等开发工具,TS可以提前到在编写代码的同时就发现代码中的错误,减少Bug、改Bug时间。
1.3TypeScript相比JS的优势
- 更早(写代码的同时)发现错误,减少找Bug、改Bug时间,提升开发效率。
- 程序中任何位置的代码都有提示,随时随地的安全感,增强了开发体验。
- 强大的类型系统提升了代码的可维护性,使得重构代码更加容易。
- 支持最新的ECMAScript语法,优先体验最新的语法,让你走在前端技术的最前沿。
- TS类型判断机制,不需要再代码中的每个地方都演示标注类型,让你在享受优势的同时,尽量降低来了成本。
除此之外,Vue3源码使用TS重写、Angular默认支持TS、React与TS完美配合,TypeScript已成为大中型前端项目的首先编程语言。
2.TypeSCript初体验
2.1安装编译TS的工具包
问题:为什么要安装编译TS的工具包?
回答:Node.js/浏览器,只认识JS代码,不认识TS代码。需要将TS代码转化为JS代码,然后才能运行。
安装命令:npm i -g typescript
typescript包:用来编译TS代码的包,提供了tsc命令,实现了TS->JS的转化。
验证是否安装成功:tsc -v(查看typescript的版本)。
2.2编译并运行TS代码
- 创建hello.ts文件(注意:TS文件的后缀名为.ts)。
- 将TS编译为JS:在终端中输入命令个,tsc hello.ts(此时,在同级目录中会出现一个同名的JS文件)。
- 执行JS代码:在终端中输入命令,node hello.js
说明:所有合法的JS代码都是TS代码,有JS基础只需要学习TS类型即可
注意:由TS编译生成的JS文件,代码中就没有类型信息了。
2.3简化运行TS的步骤
问题描述:每次修改代码后,都要重复执行两个命令,才能运行TS代码,太繁琐。
简化方式:使用ts-node包,直接在Node.js中执行TS代码。
安装命令:npm i -g ts-node(ts-node包提供了ts-node命令)。
使用方式:ts-node hello.ts。(遇到错误了:在安装完ts-node之后执行这个使用命令会报错,原因是缺少安装东西,执行命令 npm install -g tslib @types/node)
解释:ts-node命令在内部偷偷的将TS->JS,然后,再运行JS代码。