ES6之解构表达式

ES6语法中新增了解构表达式,使得我们可以通过特定的语法直接优雅获取数组或者是对象中的一个或者是多个值;

在传统的数组取值我们是这样的

let arr = [1,2,"abc"];
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);

如果我们使用ES6的解构表达式之后是这样的

let arr = [1,2,"abc"];
let [a,b,c] = arr;
console.log(a,b,c)

看起来是不是更优雅了呢.解构表达式的用法还不止于此.

如果我们想要获取数组的第一个元素,可以只输入一个元素

let arr = [1,2,"abc"];
let [a] = arr;
console.log(a)

如果我们只想要获取第二个元素可以如下:

let arr = [1,2,"abc"];
let [,a] = arr;
console.log(a)

或者获取除第一个元素之后的所有元素:

let arr = [1,2,"abc"];
let [a,...b] = arr;
console.log(b)

当取值元素超过数组,则会显示认值

let arr = [1,2,"abc"];
let [a,b,c,d] = arr;
console.log(a,b,c,d)

我们也可以在超出的元素给定指定的认值

let arr = [1,2,"abc"];
let [a,b,c,d="张三"] = arr;
console.log(a,b,c,d)

 

如果是结构对象用法如下:

const person = {
            name: 'Luke',
            age: '24',
            facts: {
                hobby: 'Photo',
                work: 'Software Developer'
            }
        }

 

获取对象指定的参数:

const person = {
            name: 'Luke',
            age: '24',
            facts: {
                hobby: 'Photo',
                work: 'Software Developer'
            }
        }
        let {name,age} = person;
        console.log(name,age)

 

获取对象深层次的嵌套参数:
 

const person = {
            name: 'Luke',
            age: '24',
            facts: {
                hobby: 'Photo',
                work: 'Software Developer'
            }
        }
        let {facts:{hobby},age} = person;
        console.log(hobby,age)

 

 

栗子木 发布了60 篇原创文章 · 获赞 5 · 访问量 1万+ 私信 关注

相关文章

原文连接:https://www.cnblogs.com/dupd/p/5951311.htmlES6...
以为Es6,javascript第一次支持了module。ES6的模块化分为导...
视频讲解关于异步处理,ES5的回调使我们陷入地狱,ES6的Prom...
TypeScript什么是TypeScript?TypeScript是由微软开发的一款开...
export class AppComponent { title = 'Tour of heroes...
用 async/await 来处理异步昨天看了一篇vue的教程,作者用as...