typescript中"对象解构"时"属性重命名"的一个不解的问题?

let o = { a: "foo", b: 12,  c: "bar"}

下面这句我能理解:
let {a: newName1, b: newName2} = o;
但下面这个怎么理解?冒句后面的{a: string, b: number} 是{a,b}中a和b的类型吗?而且我查看a,b的值是undefined ,为什么?
let {a, b}: {a: string, b: number} = o;
阅读 328
1 个回答
let { a, b }: { a: string, b: number } = o;
// 等价于
type ObjectType = {
    a: string;
    b: number;
}
let { a, b }: ObjectType = o;
// a 是 string 类型,b 是 number 类型
logo
Microsoft
子站问答
访问
宣传栏