我正在学习JavaScript,但在尝试为变量赋默认值时,我遇到了ES6语法的困难。基本上,我想将一个变量赋为一个对象属性的值,如果该值为false/null/undefined,则希望它成为空对象。 例如:
let foo = {
prop1: 'hello!',
prop2: null
}
const prop1 = foo.prop1 || {}
const prop2 = foo.prop2 || {}
console.log(prop1) // hello!
console.log(prop2) // {}
这就是我想要的,也是我认为与上面代码等效的ES6语法糖(尽管它不起作用..)
let foo = {
prop1: 'hello!',
prop2: null
}
const { prop1 = {} } = foo
const { prop2 = {} } = foo
console.log(prop1) // hello!
console.log(prop2) // null
但有时候在React中工作似乎是有效的,但其他时候却不行...这是兼容性问题吗?太令人困惑了!
undefined
也是一个值,但由于它也是在属性不存在或未传递参数时得到的值,因此决定在undefined
是该值时应用默认值。 - Felix Kling