1、解构赋值
let {a,b,c}={a:1,b:2,c:3}
对象这种会按照对应的属性名称(a、b、c)去右边的对象里面寻找对应的值。左边写成{c,b,a}也不影响解构。
但是 let {a,b,c} = { e:4, f:5, g:6 }这样的就不行,最后abc都是undefined,必须是相对应的属性。
let [a,b,c] = [7,8,9]
这种数组的是按照位置来解构的,最后是a=7,b=8,c=9
总结:
1、对象是按照对应的变量名去解构的,只要左右对应的变量名一样。顺序无所谓。
2、数组是按照一一对应的位置来解构的。
3、左右两边得一样,同时右边得是个东西,比如右边是 { 1,2,3 } 就不行,它既不是数组,也不是对象。
原文:https://www.cnblogs.com/smile-fanyin/p/10759068.html