ES6用法01
一、const定义常量:
ES6之前并没有定义常量的方式,ES6标准中引入了新的关键字const来定义常量。
const a=123;
a=456 //会报错,常量无法覆盖
console.log(a)
二、let块级变量:
用let定义的变量只在块当中起作用,离开变量外界的块就会被销毁。
if(true){
var a=123;
let b=456
}
console.log(a);
console.log(b); //报错,访问不到let变量
let a=123;
let a=456;
console.log(a); //无法覆盖重复变量
三、模板面变量:
用于字符串拼接和写模板,使用 ``(反引号,左上角的波浪线),变量使用${ }
var name="tom";
var age=20;
var sex="male";
console.log(`my name is ${name},I am ${age} years old,I am ${male}`)
console.log("my name is" +name+" ,I am" +age" years old") //传统写法
四、解构赋值:
交换值:
var a=1;
var b=2;
[a,b]=[b,a];
console.log(a,b) //值交换了,输出2,1
从数组获得元素:
var array=[1,2,3,4];
var [a, ,b]=array;
console.log(a,b); //输出1,3
从对象中获取值:
var obj={name:"tom",age=20,sex="male",job="devoloper"}
var {name,job}=obj;
console.log{name,job}
返回值解构:
function arr(){
var a=1,b=2,c=3,d=4;
return{a,b,c,d}
}
var {a,c}=arr();
console.log(a,c); //1,3
五、箭头函数
箭头函数相当于匿名函数,并且简化了函数定义,( )中放参数,没有参数就省略,箭头后面是函数体。
var fun=(x,y)=>{
console.log(x+y);
}
fun(2,3)
ES6之前访问函数外面的this比较麻烦,箭头函数可以直接访问到最外的this,不需要转换。
六、对象中函数的声明
var obj={
name="tom",
job(){
return "devoloper"
}
}
console.log(obj.job())
七、for-of循环遍历
var arr=["aaa","bbb","ccc","ddd"];
for(var i of obj){
console.log(i)
}
八、默认参数
function fun(x=0,y=1,z=true){
console.log(x,y,z);
}
fun(); //0 2 true
fun(4,0,false); //4,0,false
九、展开运算符
arr1=[1,2,3,4,5];
arr2=["a","b","c","d"];
arr3=arr1.concat(arr2);
arr4=[...arr1,...arr2];
console.log(arr3); //[1,2,3,4,5,"a","b","c","d"]
console.log(arr4); //[1,2,3,4,5,"a","b","c","d"]