常量
es6中定義了常量這個(gè)概念
在es5中想定義一個(gè)常量把敢,需要定義一個(gè)變量寄摆,設(shè)置這個(gè)變量的value值以及writable屬性設(shè)置為false
而在es6中只需要使用能夠const即可設(shè)置一個(gè)常量
const PI = 3.1415926
作用域
在es5中使用作用域必須使用立即執(zhí)行函數(shù)才能形成作用域
而在es6中作用域只需要使用{}便可進(jìn)行分割在相同作用域內(nèi),值相同切變量名或方法名不可重復(fù)
{
function fun(){
return 1
}
console.log(fun());//此處結(jié)果為1
{
function fun(){
return 2
}
console.log(fun());//此處結(jié)果為2
}
console.log(fun());//此處結(jié)果為1
}
箭頭函數(shù)
在es6中使用箭頭函數(shù)代替function修赞,遍歷數(shù)組的方式發(fā)生了改變婶恼,this的指向也發(fā)生了改變
形式的改變
function a (){
}
a:()=>{
}
遍歷數(shù)組的變化
var arrs = [1,2,3,4];
//es5
var adds = arrs.map(function(v){
return v+1;
})
console.log(adds);//結(jié)果為[2,3,4,5]
//es6
let adds = arrs.map(v => v+1)
console.log(adds);//結(jié)果為[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);//此處結(jié)果為a+
var athis = function (){
this.a = "a";
this.c={
a : 'a+';
b:() =>{
return this.a;
}
}
}
console.log(new function().c.b);//此處結(jié)果為a
箭頭函數(shù)內(nèi)this為實(shí)際this。return a 為a+