TypeScript入门|青训营笔记

99 阅读1分钟

这是我参与「第四届青训营 」笔记创作活动的第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}

函数重载

image.png

image.png

4.数组类型

image.png

5.补充类型

image.png

6.泛型

image.png

image.png

image.png

6.类型别名,类型断言

image.png

7.字符串/数字 字面量

image.png

三、高级类型

1.联合/交叉类型

联合类型:IA | IB;联合类型表示一个值可以是几种类型之一

交叉类型:IA & IB;多种类型叠加到一起成为一种类型,包含所需所有类型的特性

2.保护类型和类型守卫

类型守卫:定义一个函数,它的返回值是一个类型谓词,生效范围为子作用域

3.高级类型

4.函数返回值类型

四、工程应用

浏览器web,Node.js

配置webpack loader-->配置Tsconfi.js文件-->运行webpack启动/打包--> loader处理Ts文件时,会进行编译与类型检查