【发布时间】:2020-07-12 17:15:17
【问题描述】:
我定义了两个接口。第一个有一个可选字段,第二个有一个索引签名:
interface A {
foo?: { bar: number };
}
interface B {
[s: string]: { bar: number };
}
为什么当我使用可选链接访问属性时,第一个接口给我一个number | undefined 类型的结果,而第二个接口只给我number 类型的结果?
const a: A = {};
const aa = a.foo?.bar;
// const aa: number | undefined
const b: B = {};
const bb = b.foo?.bar;
// const bb: number
【问题讨论】:
标签: typescript typescript-typings optional-chaining index-signature