结构赋值定义
结构赋值,又叫结构化赋值,出现主要是为了方便从后端获取复杂数据结构值。下面介绍解构赋值。
解构对象
let obj = {
name: 'aa',
age: 17
}
复制代码
以上面obj对象为例
let name
let age
({name,age} = obj)
console.log(name,age) //aa 17
复制代码
通过{}可以很容易获取到obj里面的name,age对象。
获取同名对象还可以这样写
let {name,age} = obj
console.log(name,age) //aa 17
复制代码
获取不同名变量可以在后面重写
let {name:oName,age:oAge} = obj
console.log(oName,oAge) //aa 17
复制代码
默认赋值 sex = 'male'
let {name:oName,age:oAge,sex = 'male'} = obj
console.log(oName,oAge,sex) //aa 17 male
复制代码
默认赋值也可在函数形参中使用
function sum(x= 10,y = 20){
console.log(x + y) //50 30+20=50,传入取实参,不传入取默认值。
return x + y
}
sum(30)
复制代码
解构数组
let arr = [1,2,3]
let [x,y,z] = arr // 也可写成 let {0:x,1:y,2:z} = arr
console.log(x,y,z) //1,2,3
复制代码
因为数组有length,所以获取数组length方法
let arr = [1,2,3]
let {length} = arr
console.log(length) //3
复制代码
如果数组里有对象,也是可以结构赋值的
let arr1 = [1,2,3,{name:'aa'}]
let [,,,{name}] = arr1
console.log(name) //aa
复制代码
结构赋值相对简单,在这里就不多说了。
有错误欢迎指出,谢谢观看。
广告:
作者github:github.com/webxukai
作者gitee:gitee.com/webxukai
作者微信:e790134972
作者QQ:我想你应该知道了!
作者QQ邮箱:同上,呵呵!
ES6其他文章:
ES6学习let&const
juejin.im/post/5c683e…
ES6学习...运算符
juejin.im/post/5c6917…