类型对象、函数、数组
2021-05-26 本文已影响0人
0说
对象声明
// 声明 obj 变量为对象 且 里面有 name 值为 string
let obj:{name: string};
// 这样会报错
obj = { b: 'wers' }
obj = { name: 'name' }
// 这里规定了 obj2 有2个属性 下面在赋值的时候如果一个没有就会报错
let obj2: {name: string, age: number}
obj2 = {
name: 'join',
}
// 可以在age 加上?表示这个属性可有要无
let obj3:{name: string, age?:number}
obj3 = {
name: 'join'
}
// 如果属性可以多个未知 [propName: string]: any 表示 属性名key为string 值为any类型
let obj4: {name: string,[propName: string]: any}
obj4 = {
name: 'name',
age: 16,
sex: '男'
}
// 报错 name属性 必须存在
obj4 = {
age: 16,
sex: '男'
}
函数
// 声明函数fn有2个参数 且参数值的类型为数字类型 并且 返回值为数字
let fn : (a: number, b: number) => number;
fn = function(n1, n2) {
return n1 + n2;
}
fn(1, 2)
数组
// 声明变量arr为数组且数组里的值都为string类型的值
let arr: string[];
// 报错 555是数字
arr = ['666', 555]
// 另一种写法
let arr2: Array<number>