首页 > 代码库 > ES6中的解构赋值
ES6中的解构赋值
在解释什么是解构赋值前,我们先来看一下, ES5 中对变量的声明和赋值。
var str = ‘hello word‘;
左边一个变量名,右边可以是字符串,数组或对象。
ES6 中增加了一种更为便捷的赋值方式。称为 Destructuring 。好像大家普遍翻译为解构。解构赋值允许我们将数组或对象的属性赋予给任何变量,该变量的定义语法与数组字面量或对象字面量很相似。举个例子可以直观的说明。
let [speak, name] = [‘hello‘, ‘destructuring‘];
console.log( speak + ‘ ‘ + name ); // hello destructuring
数组的解构赋值
用更加直白的话来描述就是,等号两边保持相同的形式(数组对应数组,对象对应对象),则左边的变量就会被赋予对应的值。如果对应的右边值缺失,缺失部分变量值为 undefined
,如果右边值多余,依旧能够正常解构。
// ES6 中
let arr = [1,2,3,4,5];
let [el1, el2] = [arr];
// 或者
let [el1, el2] = [1,2,3,4,5];
// el1 => 1, el2 => 2
解构赋值也是可嵌套的:
let value = http://www.mamicode.com/[1, 2, [3, 4, 5]];>
同样可以通过简单地在指定位置省略变量来忽略数组中的某个元素:
let value = http://www.mamicode.com/[1, 2, 3, 4, 5];>
更进一步,默认值同样也可以被指定:
let [firstName = "John", lastName = "Doe"] = [];
ES6中,提供了一种将右侧多余的值以数组的形式赋值给左侧变量的语法——“rest“模式:
let [head, ...tail] = [1, 2, 3, 4];
console.log(tail); // [2, 3, 4]
ES6中的解构赋值
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。