一、类型推断
let str = "abc"; // 这里推断为string字符串类型
str = 123 ; // 画红线,不允许其他类型,只允许字符串类型
二、 类型注解
let str: string
str = ‘abc’;
三、类型断言as
let numArr = [1,2,3]
const result = numArr.find(item => item > 2)
result * 5 // 画红线,提示这里result有可能出现undefined
如果开发者确信能找到确切的数值,可以使用类型断言
let numArr = [1,2,3]
const result = numArr.find(item => item > 2) as number
result * 5 // 不在画红线
四、 基础类型
let v1: string = ‘abc’
let v2 :number = 10
let v3: boolean = true
let un: undefined = undefined
let nu: null = null
五、联合类型
let v4: string | null = null
let v5: 1 | 2 | 3 = 2
六、数组、元组、枚举
数组
let arr: number[] = [ 1,2,3]
let arr1: Array<string> = ['a','b','c'];
元组
let t1: [number, string, number] = [1, 'a', 2]
t1[0] = 100;
t1[0] = 'a' // 画红线,这里这个地方只能等于数字,因为第一个定义的类型是number
let t2: [number, string, number?] = [1, 'a']
枚举(一般首字母要大写)
enum MyEnum {
A,
B,
C
}
console.log(MyEnum.A) // 0 (默认从0开始赋值0,1,2....)
console.log(MyEnum[0]) // A
七、函数
void类型 只用于undefined 一般不给变量使用,只给函数返回值为undefined的时候使用,也就是说函数不返回值的时候使用
function MyFn (a: number, b: string): void {
}
function MyFn (a: number, b: string): number{
return 100
}
未完待续
网友评论