假设我们有一个函数使用参数内部对象中的一些键:
const api = ({ data: { name } = {} }) =>
`My name is ${name}.`;
如果我们通过{}
, { data: '' }
, { data: 0 }
, { data: NaN }
or { data: undefined }
我们将看到该函数:
'My name is undefined.'
并且不会看到任何错误,因为解构赋值会看到data
是假的并且使用 = {}
相反,然后name
将undefined
.
Question: 为什么当我们通过时解构赋值会返回错误null
数据键?
api({ data: null });
// ==> Uncaught TypeError: Cannot destructure property 'name' of '{}' as it is null.
根据MDN docs https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment关于对象解构中的默认值:
可以为变量分配默认值,以防该值
从对象中拉出是未定义的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)