ES6中数组 对象 的解构赋值

本文介绍了ES6中数组和对象的解构赋值方式,包括对象属性的解构,如通过`{ name } = obj`取值,属性与变量名相同时的简化写法,以及多层对象属性的解构,如`{ info: { height } } = obj`。此外,还讲解了数组解构的用法,包括常规解构和不完全解构,以及解构多层数组的示例。

ES6中数组 对象 的解构赋值

一、对象的解构

举个例子:

var obj = {
            name: 'hanhan',
            age: 38,
            sex: '中性',
            info: {
                height: '170',
                weight: 130,
                hobby: {
                    aihao1: '男',
                    aihao2: '大保健'
                }
            }
        }

我们想把对象中的name属性取出来赋值到name变量中我们可以这样写:
(1)var name = obj.name;
在es6中我们还可以用对象的解构赋值
let { name } = obj;
解构 obj对象的 name属性,并把name属性值 赋值给一个叫name的变量。这跟上面的写法是一样的意思。

(2)let { name: mingzi } = obj;
这里的意思是:解构 obj的name属性,并把 name属性值 赋值给一个叫 mingzi的变量
在(1)中我们为什么只用一个name就可以了呢 ?
当我们属性与属性值相同的时候,我们可以省略不写

(3)let { name, age } = obj;
这里的意思是:一次性解构 name属性 和 age属性,并且定义了两个变量 name 和 age
同(2)let { name: mz, age: nl } = obj
这里则是:一次性解构 name属性 和 age属性,并且定义了两个变量 mz 和 nl

(4)let { info: { height } } = obj;
这里的意思是:从obj中解构 info,info是一个对象,然后再从 info中解构 height

(5)let { info: { hobby: { aihao1 } } } = obj;
这里的意思是:从obj中解构 info对象,然后再从 info中解构 hobby对象,再从hobby解构出aihao1

数组的解构

举个例子:
(1)

let arr = ['aa', 'bb', 'cc', 'dd'];
var dd = arr[0];
var tt = arr[1];
var jj = arr[2];
var xx = arr[3];
console.log(dd, tt, jj, xx);

我们可以这样拿到数据
在这里插入图片描述
我们还可以

let [dd, tt, jj, xx] = arr;
console.log(dd, tt, jj, xx);

得到的结果是一样的
除了这样我们还可以

let [dd, tt] = arr;
console.log(dd, tt);

在这里插入图片描述
这是数组的不完全解构 可只解构其中的一部分

(2)
解构多层数组

let arr = [[['a'], 2, 3], 'aa', 'bb', 'cc'];
let [arr1] = arr;
let [n1] = arr1;
console.log(arr1);
console.log(n1);

打印可得:
在这里插入图片描述

查看更多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值