常量
es6中定义了常量这个概念
在es5中想定义一个常量,需要定义一个变量,设置这个变量的value值以及writable属性设置为false
而在es6中只需要使用能够const即可设置一个常量
const PI = 3.1415926
作用域
在es5中使用作用域必须使用立即执行函数才能形成作用域
而在es6中作用域只需要使用{}便可进行分割在相同作用域内,值相同切变量名或方法名不可重复
{
function fun(){
return 1
}
console.log(fun());//此处结果为1
{
function fun(){
return 2
}
console.log(fun());//此处结果为2
}
console.log(fun());//此处结果为1
}
箭头函数
在es6中使用箭头函数代替function,遍历数组的方式发生了改变,this的指向也发生了改变
形式的改变
function a (){
}
a:()=>{
}
遍历数组的变化
var arrs = [1,2,3,4];
//es5
var adds = arrs.map(function(v){
return v+1;
})
console.log(adds);//结果为[2,3,4,5]
//es6
let adds = arrs.map(v => v+1)
console.log(adds);//结果为[2,3,4,5]
this指向的变化
var athis = function (){
this.a = "a";
this.c={
a : 'a+';
b function(){
return this.a;
}
}
}
console.log(new function().c.b);//此处结果为a+
var athis = function (){
this.a = "a";
this.c={
a : 'a+';
b:() =>{
return this.a;
}
}
}
console.log(new function().c.b);//此处结果为a
箭头函数内this为实际this。return a 为a+
网友评论