今日学习
ECMAScript6 ES6 ES2015
基础语法
let关键字
在局部代码块内有效
变量声明不提升
暂时性死区(声明前不能访问)
不可重复声明
const命令 声明一个常量,一旦声明,常量的值不能改变,必须立即初始化
在局部代码块内有效
变量声明不提升
暂时性死区(声明前不能访问)
不可重复声明
解构 模式匹配 方便变量赋值
数组解构
let [a,b,c,d,e,f,g] = [1,2,3,4,5];
console.log(a,b,c,d,e,f,g);
集合解构 …是扩展运算符 后面跟一个变量 这个变量将来是一个数组
let [a,b,…c] = [1,2,3,4,5];
console.log(a,b,c);
默认值 默认值在变量严格等于undefined的情况下生效
let [a=‘hello’,b,c,d,e] = [’’,2,3,4,5];
console.log(a,b,c,d,e);
对象解构 解构对象进行赋值
let {username,age:userage,gender=‘男’} = {username:‘zhangsan’,age:12,gender:‘女’};
console.log(username,userage,gender);
嵌套解构
数组里嵌套对象
let [a,{username:user}] = [‘hello’,{username:‘zhangsan’}];
console.log(a,user);
对象里嵌套数组 嵌套解构
let {friends:[a,b]}= {friends:[‘fairy’,‘tom’]};
console.log(a,b);
函数参数解构赋值
…扩展运算符 …变量,是数组,存放剩余的数据 Rest参数
function test([a,b,c=10,d=‘hello’,{username: user},…e]){
console.log(a,b,c,d,user,e);
}
test([1,2,3,4,{username:‘zahngsan’},5,6,7,8]);
常见用途
变量交换
let x=1,y=2;
[x,y] = [y,x];
console.log(x,y);
函数返回多个值
function test(){
return{
username:‘zhangsan’,
age:12
};
}
let {username,age}=test();
console.log(username,age);
…复制数组 地址不一样
let arr2 = [1,2,3,4,5];
let arr3 = […arr2];
console.log(arr2);
console.log(arr3);
…复制对象 地址不一样
let obj = {username:‘zhangsan’,age:12,gender:‘男’};
let obj2 = {…obj};
console.log(obj);
console.log(obj2);
2020-05-06
最新推荐文章于 2020-11-04 19:29:28 发布