虽然我刚刚定义了一个可选参数,但TypeScrip却抛出了Object is possibly 'undefined'. ts(2532)
个错误……
interface Foo {
keyValue?: Record<string, string>
}
const a: Foo = { keyValue: { key1: 'value' } }
a.keyValue.key2 = 'value2' // Object is possibly 'undefined'. ts(2532)
const b: Foo = {}
b.keyValue = { key1: 'value' }
b.keyValue.key2 = 'value2' // Works fine
为什么a.keyValue
会抛出错误,而b.keyValue
不会?唯一的区别是语法略显冗长.