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

常量

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+

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容