一.变量的声明与使用 [测试示例需要在node环境中测试,浏览器环境下并不完全兼容ES6代码]ES6中可以使用 {} 来包含任意一段代码,被 {} 包裹的内容称为一个代码块(局部作用域) let关键字 [声明变量]特性:1.块级作用域    [局部作用于声明的代码块中]2.变量声明不会提升    [变量未声明前无法使用该变量]3.暂时性死区    [该变量声明前面的区域]4.不能重复声明    [同一代码块中不能重复声明同一变量] const关键字    [声明常量(一般用大写字母表示常量)]特…
数组的解构赋值     var [a,b,c] = [1,2,3];    左边是变量,右边是值,根据数据结构一一对应 只要等号两边的模式相同,左边的变量就会被赋予右边对应的值,必须模式相同 如果等号右边的不是数组,确切的说不是可遍历的数组,那么将会报错 解构赋值不仅适用于var 命令,也适用于 let / const 命令    var [a,b,c,...d] = []; let [a,b,c,...d] = []; const [a,b,c,...d] = []; 只要是可遍历的数据,都可…
变量的解析赋值 数组的解析赋值 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…
ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构ES6之前我们申明多个变量需要按照下面的方法: let l a=1; let b=2; let c=3; let d=4; //或者 let a=1,b=2,c=3,d=4; 现在我们可以更加简便 let[a,b,c,d]=[1,2,3,4] 这种方法需要连边结构完全对上,左边有多余变量,会给多余变量赋值undefined,右边有多余的值,多余的自动会被忽略 let[a,[b,c,d],[e,[f,g]]]=[1,[2,…
1. 解构赋值的规则是,只要等号右边的值不是对象,就先将其转为对象.由于undefined和null无法转为对象,所以对它们进行解构赋值,都会报错. let { prop: x } = undefined; // TypeError let { prop: y } = null; // TypeError 2. 对象的解构与数组有一个重要的不同.数组的元素是按次序排列的,变量的取值由它的位置决定:而对象的属性没有次序,变量必须与属性同名,才能取到正确的值. let { bar, foo } =…
一.数组赋值(从数组中提取值,按照对应位置,对变量赋值) 1. 完全解构(变量与值数目相等) let arr = [1, 2, 3]; let [a,b,c] = arr; console.log(a, b, c); // 1 2 3 2. 不完全解构(变量的数目小于值的数目) let arr = [1, 2, 3, 4]; let [a,b,c] = arr; console.log(a, b, c); // 1 2 3 3. 解构不成功(变量的数目大于值的数目) let arr = [1,…
数组的解构赋值 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring). 以前,为变量赋值,只能直接指定值. let a = 1; let b = 2; let c = 3; ES6 允许写成下面这样. let [a,b,c] = [1,2,3]; console.log(a); // 1 console.log(b); // 2 console.log(c); // 3 下面的同样会被解析 let [foo, [[bar], baz]] =…
变量的解构赋值 1.数组的解构赋值 2.对象的解构赋值 3.字符串的解构赋值 4.数值和布尔值的解构赋值 5.函数参数的解构赋值 6.圆括号问题 7.用途 1.数组的解构赋值 ES6 允许写成下面这样. let [a, b, c] = [1, 2, 3]; 上面代码表示,可以从数组中提取值,按照对应位置,对变量赋值.这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值. 其中数组的解构还有一些特殊的嵌套模式,来看下面例子: let [foo, [[bar], baz]]…
解构赋值是ES6很大的一个提升,为我们带来了很多方便,但用不好,会使程序的可读性变差,所以用时要注意,尽量保持程序的易读性. 数组解构赋值 在JS没有支持解构赋值之前,我们声明几个变量并赋值通常都是像下面这样: 1 var a=0; 2 var b=0; 3 var c=0; 有了解构赋值就可以写成这样了 1 var [a,b,c]=[0,0,0] 确实简单了许多,左边与右边能一 一对应的这种用解构赋值是既简单又易读.我之前为啥说用不好会使程序的可读性变差呢,因为解构在不是一对一对时候也会成功,…
数组的解构赋值 ]]]]]]] = []}} = {}} = {}})]: first]: last} = arr} = {}) {}))}))}) {}))}))].]]]])})] }}} = {}} = {}})]: first]: last} = arr} = {}) {}))}))}) {}))}))].]]]])})] }; let { id, status, data: number } = jsonData; console.log(id, status, number);//…