变量的解析赋值 数组的解析赋值 es6允许按照一定的模式,从数组和对象中提取值,对变量进行赋值,这就称为解构. var a = 1; var b = 2; var c = 3; //在es6中允许写成: var [a,b,c] = [1,2,3]; //表示从数组中提取值,按照位置的对应关系对变量赋值 本质为:"模式匹配". 如果解构不成功,变量的值就等于undefined var [foo] = []; var [bar, foo] = [1]; // foo的值为undefined…
1. 解构赋值的规则是,只要等号右边的值不是对象,就先将其转为对象.由于undefined和null无法转为对象,所以对它们进行解构赋值,都会报错. let { prop: x } = undefined; // TypeError let { prop: y } = null; // TypeError 2. 对象的解构与数组有一个重要的不同.数组的元素是按次序排列的,变量的取值由它的位置决定:而对象的属性没有次序,变量必须与属性同名,才能取到正确的值. let { bar, foo } =…
ES6--变量的解构赋值 引言 正文 一.数组的解构赋值 解构失败 不完全解构 默认值 二.对象的解构赋值 三.字符串的解构赋值 结束语 引言 变量的解构赋值, 听起来很复杂, 简单点说可以理解成批量操作变量赋值,先有个印象, 下面慢慢来看 正文 变量的解构赋值一共分为以下几种:数组的解构赋值 .对象的解构赋值 .字符串的解构赋值 . 一.数组的解构赋值 先来看一下我们平时对很多个变量赋值是如何操作的: let a = 1 let b = 2 let c = 3 let d = 4 那么我们看一…
es5中通常我们声明变量都是以下的方式: var a = 10; var b = 20; var c = 30; //或者 var a = 10,b = 20,c = 30; //或者 var arr = [1,2,3,4,5]; var a = arr[0]; var b = arr[1]; var c = arr[3]; //或者 var obj = { name: 'gary', age: 20 } var a = obj.name; var b = obj.age; //或者 //等等…
变量的解构赋值:ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring). 以前的写法: var a = 1; var b = 2; es6允许的写法: let [a,b] = [1,2]; 一般用途: 1.交换变量的值 [x,y] = [y,x]; 2.函数返回多个值 function f1() { return [1,2,3]; } var [a,b,c] = f1(); // 返回json对象: function f1() { return…