【es6】【变量的解构赋值】【数组解构赋值】
2018-01-23 11:56
633 查看
数组的解构赋值
es6中,变量赋值允许如下格式:-----------------------
let [a,b,c] = [1,2,3];
//a=1
//b=2
//c=3
----------------------
以上写法,本质上属于"模式匹配"--即等号两边模式相同,左侧变量就会赋予对应的值
-----------------------
let [xlfd,[[lxh],zpj]] = [1,[[2],3]];
//xlfd=1
//lxh=2
//zpj=3
----------------------
let [ , ,xlfd] = ["one","two","san"];
//xlfd="san"
----------------------
解构不成功,变量的值为undefined
----------------------
let [lxh] = [];
let [xlfd,lxh] = [1];
//lxh undefined
----------------------
不完全解构,依然可以成功
---------------------
let [x,y] = [1,2,3];
//x 1
//y 2
-----------------
let [a,[b],c] = [1,[2,3],4];
//a 1
//b 2
//c 4
----------------
默认值
---------------
let [xlfd = true] = [];
//xlfd true
let [x,y = 'b'] = ['a'];
//x='a' , y='b'
let [x,y = 'b'] = ['a',undefined];
//x='a', y='b'
---------------------
当一个数组的成员严格等于undefined,默认值才会生效。
以下代码,数组成员为null 默认值不会生效,null不严格等于undefined。
---------------------
let [xlfd = 1] = [null];
//x null
--------------------
如果默认值是一个表达式,那么当能在等号右边取到值时,变量的默认值对应的表达式将不会求值。
--------------------
function f() {
console.log("nihao");
}
let [x = f()] = [1,2,3];
//x 1
--------------------
默认值可引用解构赋值的其他变量,前提是该变量在其之前声明。
--------------------
let [x = 1,y = x] = [2];
// x 2 ,y 2
------------------
相关文章推荐
- ES6入门——变量的解构赋值
- JavaScript解构赋值(代码说明ES6数组, 对象, 函数的解构赋值)
- ES6(三: 变量的解构赋值)
- ES6学习——变量的解构赋值
- 变量的解构赋值-数组的解构
- ES6--变量的解构赋值
- js -- ES6(三)-- 变量的解构赋值(根据阮一峰ES6标准入门整理 更新中。。。)
- ES6(二) Destructuring-变量的解构赋值
- ES6小实验-变量的解构赋值
- ES6—变量 解构赋值
- ES6 变量的解构赋值
- es6 变量的解构赋值
- 【es6】变量解构赋值
- ES6--变量的声明及解构赋值
- ES6第二章 关于“变量的解构赋值”不得不说的事~
- js-es6-变量的解构赋值
- ES6--变量的解构赋值
- (2)ES6解构赋值-数组篇
- ES6 - 变量的解构赋值
- ES6新特性 let、const、变量对象的解构赋值