/*es6解构赋值
.就是快速从对象 或者数组中 获取成员
解构赋值分为两种
.数组的结构赋值
.对象的结构赋值*/
//数组的解构赋值 .快速从数组中获取数据
/*
- 在以前我们想单独获取数组中的某一个数具
- let arr = [‘hello’,‘world’]
- let a=arr[0]我们只能定义变量
/
/ - 但现在我们可以用解构
- let[a,b]=[‘hello’,‘world’]
/
/
let[a,b]=[‘hello’,‘world’]
console.log(a)//
console.log(b)//可以分别获取到数据
//解构数组
var arr=[‘he’,‘wo’]
//开始解构
//注意: 解构数组使[]
//a 获取到的内容就是 arr[0]
//b 获取到的内容就是 arr[1]
var[c,d]=arr
console.log©
console.log(d)
//解构对象
/*快速从对象中获取数据
*
/
//以前我们获取对象成员 只能定义对象
/
let obj ={
name:‘jack’,
age:18
}
let name=obj.name
let age=obj.age
// 现在我们也可以用解构 来获取对象
let obj={name:‘jack’,age:18}
let{name}=obj//等于 let name =obj.name
*/
var obj={name:‘jack’,age:18}
//开始解构
//注意: 解构对象使用 {}
// 表示定义一个叫做name 的变量,获取的是obj内 一个叫做name的成员的值
/var {name,age,a}=obj//解构一个不存在的a成员 出来的结果就是undefined
console.log(name)
console.log(age)/
//如果用一个不存在的变量a 来解构对象
//相当于定义变量a 从obj内获取一个叫做a的成员的值
//var {a}=obj
//console.log(a)
//可以起一个别名
//相当于顶一个a变量 从obj内获取一个叫做age 的值
var {age:a}=obj
console.log(a)//此时可以正常输出age的值 这段代码等价于 var a=obj.age
//上述就是解构赋值的两种写法