TS是type+javascript(为js提供了数据类型支持)
一、什么是ts
1、写代码的同时可以发现错误,减少找bug、改bug时间,提升开发效率
2、程序中任何位置的代码都有代码提示
3、代码的可维护性,使得重构代码更容易
4、支持ECMAScript语法,优先体验最新的语法
最新技术栈:
React:TS+Hooks
Vue:TS+Vue3
二、安装编译TS的工具包
npm i -g typescript
yarn global add typescript
三、简化运行TS的步骤
1、直接在Node.js中中执行TS代码
npm i -g ts-node
ts-node xxx.ts
2、解决ts-node运行TS报错
tsc --init
ts-node xxx.ts
3、解决两个ts文件之变量名冲突
在非模块化环境下,TS会把.ts文件中声明的变量当作全局变量。当两个.ts文件中声明的变量名称相同,并且在VSCode中同时打开两个文件,会提示报错。
解决办法:在.ts文件最后加上export{}
解析:
(1)当TS看到export这样的模块化语法后,就会将该文件当作模板来解析,此时,再声明的变量就是该模板中的局部变量了
(2)export不需要导出任何内容,该代码的作用仅仅是为了让TS知道这是模块化环境
四、类型注解
1、将TS中的常用类型细分为两类:JS已有类型 TS新增类型
1.1、JS已有类型
let uniKey:symbol=Symbol()
let obj={
a:'yy'
}
obj[uniKey]='uu'
(a)number、string、boolean、null、undefined、symbol
symbol可以作为对象属性的键,防止与对象中其他键冲突。
(b)对象类型:object(包括数组、对象、函数等对象)
1.2、TS新增类型
(a)联合类型、自定义类型、接口、字面量类型、枚举、void、any等
2、函数类型参数和返回值
函数类型实际上指的是:函数参数和返回值的类型
为函数指定类型的两种方式
(1)单独指定参数、返回值