先赋值看看:
<script>
let {abc:test1,def:test2}={abc:"first",def:"second"}
console.log(test1)
console.log(test2)
</script>
简化写法:
<script>
let {abc,def}={abc:"first",def:"second"}
console.log(abc)
console.log(def)
</script>
在对象解构赋值中,顺序是没有影响的,我们修改上面的内容:
<script>
let {def,abc}={abc:"first",def:"second"}
console.log(abc)
console.log(def)
</script>
两次返回的结果都是相同的,没有区别;
在数组解构中我们有一种情况是:左边变量的数目大于右边值的数目,那么没有解构成功的会返回undefined;
在对象结构中也是一样的:没有找到对应的值的对象属性会返回undefined;
<script>
let {sos,def}={abc:"first",def:"second"}
console.log(sos)
console.log(def)
</script>
对象的解构赋值也是可以设置默认值的,和数组类似;