<分区>
假设我们有一个函数在参数的内部对象中使用一些键:
const api = ({ data: { name } = {} }) =>
`My name is ${name}.`;
如果我们传递 {}
, { data: '' }
, { data: 0 }
, { data: NaN }
或 { data: undefined }
到我们将看到的函数:
'My name is undefined.'
并且不会看到任何错误,因为解构赋值看到 data
是假的并使用 = {}
而不是 name
将是 undefined
。
问题:当我们将 null
传递给数据键时,为什么解构赋值会返回错误?
api({ data: null });
// ==> Uncaught TypeError: Cannot destructure property 'name' of '{}' as it is null.