这是我参与「第四届青训营 」笔记创作活动的第13天
一、为什么是TS
什么是ts:Typed JavaScript at Any Scale是 添加了类型系统的 JavaScript,适用于任何规模的项目。
TS是静态类型,弱类型语言,JS是动态类型,TS可读性强,可维护性强,多人大型项目的开发效率和稳定性高。
它是JS的超集,包含兼容所有js特性,支持共存,支持渐进式引入与升级
二、语法
1.基础数据类型
字符串,数字,布尔,null,undefined
2.对象类型
用interface来定义类型,
interface Xxx{
readonly jobID ;number //只读属性
name:string
sex:'man'|'woman'|'other'
hobby?:string; //可选属性
[key:string]:any //任意属性
}
3.函数类型赋予
function add(x:nubmer,y:number)
return x+y}
函数重载
4.数组类型
5.补充类型
6.泛型
6.类型别名,类型断言
7.字符串/数字 字面量
三、高级类型
1.联合/交叉类型
联合类型:IA | IB;联合类型表示一个值可以是几种类型之一
交叉类型:IA & IB;多种类型叠加到一起成为一种类型,包含所需所有类型的特性
2.保护类型和类型守卫
类型守卫:定义一个函数,它的返回值是一个类型谓词,生效范围为子作用域
3.高级类型
4.函数返回值类型
四、工程应用
浏览器web,Node.js
配置webpack loader-->配置Tsconfi.js文件-->运行webpack启动/打包--> loader处理Ts文件时,会进行编译与类型检查