ES6学习解构赋值

1,545 阅读1分钟

结构赋值定义

结构赋值,又叫结构化赋值,出现主要是为了方便从后端获取复杂数据结构值。下面介绍解构赋值。

解构对象

     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.cn/post/684490…
ES6学习...运算符
juejin.cn/post/684490…