es6学习笔记--解构赋值】的更多相关文章

昨天学习了es6语法中解构赋值,解构赋值在声明中和函数传参提高了灵活性和便捷性,值得掌握该语法. 概念: ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构.   数组的解构:   let [a,b,c] = [1,2,3]; console.log(a); console.log(b); console.log(typeof c); // number console.log(a === 1); // true ps:解构不成功,变量的值就等于undefined le…
最近看了一个vue的项目,发现作者大量使用了ES6的语法,包括async, Promise, Set, Map还有一些解构赋值, 才发现自己对于ES6的语法缺乏了总结和运用,看得有点艰难,所以重新学习了阮一峰老师的教程并用自己的理解做了一些笔记: 1. 数组解构赋值 (1)按照变量位置对应赋值  ---- "匹配模式" let [a, b, c] = [1, 2, 3] console.log(a, b, c) // 1 2 3 let [foo, [[bar], baz]] = [1…
解构赋值是ES6很大的一个提升,为我们带来了很多方便,但用不好,会使程序的可读性变差,所以用时要注意,尽量保持程序的易读性. 数组解构赋值 在JS没有支持解构赋值之前,我们声明几个变量并赋值通常都是像下面这样: 1 var a=0; 2 var b=0; 3 var c=0; 有了解构赋值就可以写成这样了 1 var [a,b,c]=[0,0,0] 确实简单了许多,左边与右边能一 一对应的这种用解构赋值是既简单又易读.我之前为啥说用不好会使程序的可读性变差呢,因为解构在不是一对一对时候也会成功,…
解构赋值基本概论就按照一定的模式通过数组或者对象对一组变量进行赋值的过程. 1.通过数组对变量进行赋值: /*通过这种方式赋值要注意左右两边的结构模式要一样,在赋值的时候,根据位置进行赋值对应模式.*/ //普通赋值方式 var a = 1; var b = 2; var c = 3; //解构赋值方式 var [a,b,c] = [1,2,3]; // 针对其他比较特殊的模式赋值方式,如果变量解构不成功就赋值undefined var [a,[[b],c]] = [1,[[2],3]] //…
啥也不说,先举个栗子: 1 let { myname, myage } = { myage: 18, myname: "郭郭" }; 2 console.log(myname) //郭郭 3 console.log(myage) //18 很简单的例子,主要是为了说明对象解构赋值与数组解构赋值的不同.数组解构赋值时,变量是按次序排列的,变量的取值由它的位置决定:而对象解构赋值时,变量没有次序,变量名只要与属性同名,就才能取到正确的值. 那如果变量与对象的属性不同名,可以应用解构赋值吗?…
解构赋值:按照一定模式,从数组和对象中提取值,对变量进行赋值.   数组解构 对象解构 字符串解构 应用场景     曾经的赋值噩梦,非解构赋值数组: let arr = [1, 2, 3]; let a = arr[0]; let b = arr[1]; let c = arr[2]; console.log(a, b, c); 上面代码赋值十分冗长. 解构赋值数组: let [d, e, f] = arr; console.log(d, e, f); 使用解构赋值之后代码来那个骤减. 复杂的…
变量的解析赋值 数组的解析赋值 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 } =…
点击上方"前端自习课"关注,学习起来~ 对象和数组时 Javascript 中最常用的两种数据结构,由于 JSON 数据格式的普及,二者已经成为 Javascript 语言中特别重要的一部分.在编码过程中,我们经常定义许多对象和数组,然后有组织地从中提取相关的信息片段.ES6 中添加了可以简化这种任务的新特性:解构.解构是一种打破数据结构,将其拆分为更小部分的过程. 为什么需要解构 我们考虑一个大多数人在使用 Javascript 进行编码时可能遇到过的情况. 假设,我们有一个学生数据…
let只作用在当前块级作用域内使用let或者const声明的变量,不能再被重新声明let不存在`变量提升` console.log(dad); var dad = '我是爸爸!';//预定义undefined console.log(dad); let dad = '我是爸爸!';//报错 生成十个按钮 每个按点击的时候弹出1 - 10var 方法: var i = 0; for (i = 1; i <= 10; i ++) { (function(i) { var btn = document…