推荐文章:www.jianshu.com/p/a8f74b29d…
应用在后台返回数据 不想在定义一个新的变量去接收
自已演示了一下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
const cont = ['Asher', 'jianshu.com'];
// const [name, website, lan] = cont;
// console.log(name, website, lan); //Asher jianshu.com undefined
//同对象,一样可以给没有的项加默认值
const [name, website, lan = 'PHP'] = cont;
console.log(name, website, lan); //Asher jianshu.com PHP
// 数组的解构是按照顺序赋值 名字自定义
const [edc, abc, son = 'PHP'] = cont;
console.log(edc, abc, son) //Asher jianshu.com PHP
//应用场景:利用数组解构交换变量值
let a = 100;
let b = 20;
[a, b] = [b, a]
console.log(a, b); //20 100
//对象结构的写法,意思是先声明变量name和age,然后在对象Asher中寻找同名属性,最后将属性值赋值给变量name和age
const Asher = {
name1: 'Asher Zhang',
age: 5,
family: {
mother: 'North Zhang',
father: 'Richard Zhang',
brother: 'Howard Zhang'
}
}
// const { name1, age } = Asher; //Asher Zhang;5
// console.log(name1,age)
//一定要name 一样? 可以用: 赋予新的名称 ?
// const { res:name1} =Asher
// console.log(res)//没有定义 res 都不在Asher里面
const {name1:iWant } = Asher
console.log(iWant)//Asher Zhang
// :后面才是自定义的name
//会不会按照顺序赋值?
const {kuli,bb,c} = Asher
console.log(kuli,bb,c)//undefined undefined undefined
</script>
</body>
</html>