es6常量与es5中的“常量”、作用域、箭头函数

2018-09-02  本文已影响63人  de_self

常量

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+

上一篇 下一篇

猜你喜欢

热点阅读