1.前言
环境都搭好了一直没时间继续往下写
疫情期间就在家好好梳理知识吧
必须让自己强大起来,才有选择的权利
2. 类型基础语法
2.1 基础写法
let str1:string //类型注解 str1 = "郑州加油" // 正确 str1 = 4 //错误
2.2 语法分析
变量名:类型
常见的原始类型:string number boolean undefined null symbol
注意小写的类型 ,大写的是构造函数
2.3 报错图示
2.4 报错分析
声明了函数类型就不可以在更改
这就是
ts
的一大核心特点强类型
3.类型推断
3.1 基本用法
let var2 = true var2 = "22" // 波浪线报错
3.2 报错图示
3.3 错误分析
1.声明变量直接赋值 就属于类型推断
2.赋值的时候,ts会根据变量的初识值类型来推动变量的类型
3.所以后面进行赋值操作,会进行检查,类型不匹配就把错
类型注解每次都得写类型比较麻烦
这个推断比较方便
4. 类型数组的写法
4.1 基本用法
let arr: string[]; arr = ["yzs"] //arr = ["yzs",30] 报错
4.2数组写法2
let arr1:Array<string>
这种写法比较繁琐,所以个人比较喜欢第一种写法
4.3 报错
4.4 错误分析
要求数组里面的每一个元素 都是声明的时候指定的类型
这个语法和 c# 和Java是一样的
5.元组 Tuple
在这个
TS
里面 数组放不同的元素
叫做元组
,其实也和python
的元组一样
5.1用法
let yzs: [string, number, boolean] = ['Yzs', 25, true]; yzs = [20] //报错
5.2 错误
5.3 分析
声明的时候定义了元组里面的不同类型,这个是有顺序的
所以进行赋值操作的时候也必须按照类型顺序赋值,不然报错
6. any 泛型
有时候单独定义数组的类型比较繁琐,而且也不确定会是什么类型, 这个时候可以用 any
any类似 其他语言里面的泛型
6.1 基本用法
let varAny: any; varAny = "xx" varAny = 3
6.2 分析
any 就是泛型 就是任意类型
所以赋值什么类型都不会报错
建议少用这个 any,因为这个有违ts强类型的初衷
7. 数组泛型
7.1 基本用法
let arrAny: any; varAny = [1, true, "yzs"] varAny[1] = 666
7.2 分析
声明数组的时候使用 any,
数组内的元素就可以写任意类型
8.函数中的类型约束
8.1 基本用法
function greet(person: string): string { return 'hello' + person }
8.2分析
形参的类型语法
(person: string)
1.参数后面:类型
函数返回值的类型
()后面跟:类型
8.3 使用
代码提示
8.4错误提示
8.5 正确提示
8.6 代码提示
这就是所谓的代码提示,怎么来的
这就是vscode 用ts编写的原因
这就是 ts 之前其实经常用的意思
9.void 类型 没有返回值的函数
9.1基本用法
function warn(): void { }
9.2 提示
9.3 void
在其他语言里面就代表无返回值
10. 形参默认值
= 默认值 和以前没区别
function greet(person: string, sex = 1): string { return 'hello' + person }
11. 可选参数
? 代表可选
function greet(person: string, sex = 1, age?: number): string { return 'hello' + person }