js笔记:对象变量解构赋值(1)

对象的解构赋值:变量必须与属性同名,才能取到正确的值。

let { bar, foo } = { foo: 'aaa', bar: 'bbb' };
let { baz } = { foo: 'aaa', bar: 'bbb' };
foo // "aaa"
bar // "bbb"

 如上代码;1由于bar在后面的对象中有所以把后面对象bar的值‘bbb’赋值给第一个对象

                   2.foo所对应的也能找到;

let { foo: bar } = { foo: 'aaa', bar: 'bbb' };
bar // "aaa"
let { first: f, last: f } = { first: 'hello', last: 'world' };
console.log(f)//Uncaught SyntaxError: Identifier 'f' has already been declared;

在如上:1:第一个bar是aaa是因为在后面一个对象中寻找到了foo的值‘aaa’并将他赋值给了bar;

               2:为什么报错呢?是因为first和last的变量名重复了;

总结:其实我们可以将(:)前的一个当作条件去后面的对象中寻找如果没找到就 就是undefined

找到了就将其赋值给( :)后面的值,如果( :)后面没值就将其赋值给(  :)前的那个

在有(:)的时候前面的是(条件)其后面的就是变量

在没(:)的时候前面那个既是条件也是变量;

上一篇:984. 不含 AAA 或 BBB 的字符串


下一篇:JavaScript 数组映射,重新整理