当前位置: 首页 > Web前端 > JavaScript

es6语法学习

时间:2023-03-26 22:09:42 JavaScript

题外话:好久没更新了。这几天在学习react.js的过程中学到了一些新东西,记录一下。1.解构赋值字面意思是:根据对象的结构进行一对一的赋值。(1)普通变量//ES5leta=1,b=2;//(ES6)let[a,b]=[1,2];位置可以一一分配。(2)、数组让a=[1,2,3];(ES5)让num=a[2];控制台日志(数量);//3let[a,b,c]=[1,2,3];(ES6)控制台日志(b);//2嵌套数组解构leta=[1,2,[3,4],5];让num=a[2][0];//3let[a,b,[c,d],e]=[1,2,[3,4],5];console.log(b,c)//2,3解构失败赋值,变量的值等于undefined。let[a,b]=[1];console.log(b)//未定义的默认值有默认值,没有值则取默认值;有值就取自己的值,不取默认值let[a,b,c,d=4]=[1,2,3];console.log(d);//4let[a,b,c,d=4]=[1,2,3,5];console.log(d);//5对象解构对象的解构和数组的解构有一个重要的区别。数组的元素是有序排列的,变量的值由它的位置决定;而对象的属性没有顺序,变量必须和属性同名才能得到正确的值。letobj={name:'xxx',age:18};console.log(obj.name);//'xxx'letobj={name:"xxx",age:"18"}let{name:name,age:age}=obj;console.log(name);//如果'xxx'解构失败,变量的值等于undefined。let{foo}={bar:'baz'};foo//未定义的字符串也可以被解构和赋值。这是因为此时,字符串被转换为类数组对象。//ES5:varres="Hello";console.log(res[2]);//是的//ES6let[a,b,c]="Hello";console.log(b);//解构好的函数参数functionshow({name,age}){//之前//varname=obj.name;//nowconsole.log(name);//丽丝console.log(name,age);//丽丝,18}letobj={name:"丽丝",age:"18"}show(obj);待续……参考:https://zhuanlan.zhihu。com/p/...