解构赋值默认值[重复]

2024-01-10

我正在学习 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 中工作,但其他时候则不然......这是兼容性问题吗?太令人困惑了!


您可能对 null 和 undefined 之间的区别感到困惑,例如:

const { dogName = 'snickers' } = { dogName: undefined }
console.log(dogName) // what will it be? 'snickers'!

const { dogName = 'snickers' } = { dogName: null }
console.log(dogName) // what will it be? null!

const { dogName = 'snickers' } = { dogName: false }
console.log(dogName) // what will it be? false!

const { dogName = 'snickers' } = { dogName: 0 }
console.log(dogName) // what will it be? 0!

const { dogName = 'snickers' } = { }
console.log(dogName) // what will it be? 'snickers'!

取自:http://wesbos.com/destructuring-default-values/ http://wesbos.com/destructuring-default-values/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解构赋值默认值[重复] 的相关文章