类型对象、函数、数组

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>
上一篇 下一篇

猜你喜欢

热点阅读