定义 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构 数组的解构赋值 以前,为变量赋值,只能直接指定值. let a = 1; let b = 2; let c = 3; es6写法 let [a, b, c] = [1, 2, 3]; 不完全解构--解构不成功,值都会等于undefined let [x, y, ...z] = ['a']; x // "a" y // undefined z // [] let [bar, foo] = [1]; foo
解构数组 var [a,b]=[1,2]; a //1 b //2 ------------- var [a,b]=[1,2,3,4]; a //1 b //2 ---------------- var [a,,b]=[1,2,3,4]; a //1 b //3 ----------------- var a,b; [a=3,b=2]=[1]; //默认值 a //1 b //2 ----------------- var [a, ...b] = [1,2,3,4] a //1 b // [2,
摘要: 玩转ES6解构赋值. 原文:5个 JS 解构有趣的用途 译者:前端小智 1. 交换变量 通常交换两个变量的方法需要一个额外的临时变量,来看看例子: let a = 1; let b = 2; let temp; temp = a; a = b; b = temp; a; // => 2 b; // => 1 temp是一个临时变量,它先保存a的值.然后把b的值赋值给a,接着将temp值赋给 b. 如果使用解构的方式会更简单,不需要什么鬼的 temp 变量. let a = 1; let
解构赋值是ES6很大的一个提升,为我们带来了很多方便,但用不好,会使程序的可读性变差,所以用时要注意,尽量保持程序的易读性. 数组解构赋值 在JS没有支持解构赋值之前,我们声明几个变量并赋值通常都是像下面这样: 1 var a=0; 2 var b=0; 3 var c=0; 有了解构赋值就可以写成这样了 1 var [a,b,c]=[0,0,0] 确实简单了许多,左边与右边能一 一对应的这种用解构赋值是既简单又易读.我之前为啥说用不好会使程序的可读性变差呢,因为解构在不是一对一对时候也会成功,
话说,解构无处不在啊,鄙人自从用了vue写项目以来,总是遇到各路大神莫名其妙的写法,然并未出任何错,查之,然解构也,呜呼哀哉,进而习之. 解构(Destructuring):是将一个数据结构分解为更小的部分的过程.ES6中,从数组和对象中提取值,对变量进行赋值. 解构有什么用处呢?可以大大的简化数组或者对象里面的元素的赋值语句. 数组解构,数组本身并没有发生任何的改变,解构是对新的变量(可能是对象同名属性)赋值. //变量的声明 let [a,b,c] = [1,2,3];//嵌套解构 let
相较于常规的赋值方式,解构赋值最主要的是'解构'两个字,在赋值的过程中要清晰的知道等号右边的结构. 先简单地看一下原来的赋值方式. var a=[1,2] 分析一下这句代码的几个点: (1)变量申明和赋值 var a; a=[1,2] //你可以理解这两个操作是分开的,虽然是一句代码.声明变量都会出现变量名的提升(也就是是声明变量的这句代码会被提升到生效作用域的最前面),区别在于'var'声明的是全局变量,而'let const'声明的是块级作用域变量. (2)结构对应 var a; a=[1,