ts结构赋值时指定类型

2022-08-21 13:06:25 浏览数 (1)

我们在typescript中使用变量结构时如果需要指定类型,可以这样写:

代码语言:javascript复制
const { a, b, c }: { a: any; b: string; c: { cname: any; cid: any; } } = obj;

但一般还是定义接口

代码语言:javascript复制
interface IObj {
    a: any;
    b: string;
    c: IC;
}
interface IC {
    cname: any;
    cid: any;
}
const { a, b, c }: IObj = obj;

对于箭头函数也是同理

代码语言:javascript复制
array.map(({ a, b, c }: IObj)=>{})

如果我们接口中某个属性可以为null或其他属性,我们可以使用|

代码语言:javascript复制
interface IObj {
    a: any;
    b: string | number | null;
    c: IC;
}

甚至如果该属性是可选的,我们可以使用?

代码语言:javascript复制
interface IObj {
    a: any;
    b?: string;
    c: IC;
}

0 人点赞