tre*_*son 4 javascript object destructuring ecmascript-6
在解构对象时,我有时会遇到不知道密钥是否存在的问题,然后尝试从它们中提取值.这显然是错误,因为它们是未定义的.例如:
期待这样的事情:
{ user: { name: { first: 'Trey', last: 'Hakanson' } } }
Run Code Online (Sandbox Code Playgroud)
但我实际上得到了这个:
{ user: {} }
Run Code Online (Sandbox Code Playgroud)
并尝试像这样的错误进行解构:
const { user: { name: { first: firstName, last: lastName } } } = data
Run Code Online (Sandbox Code Playgroud)
有没有办法在解构前面分配一个默认值?比如name = { first: 'Hello', last: 'World' }
如果name
密钥不存在则分配?
const { user: { name: { first: firstName = 'firstName', last: lastName = 'lastName' } = {} } = {} } = data
Run Code Online (Sandbox Code Playgroud)