一文说透ES6中的箭头函数表达式

一 总述

箭头函数表达式的语法比函数表达式更简洁,并且没有自己的thisargumentssupernew. target。箭头函数表达式更适用于那些本来需要匿名函数的地方,并且它不能用作构造函数。

二 详细

1 1个或多个参数

(param1, param2, …, paramN) => { statements }

// 有大括号,有return语句,返回结果

// 有大括号,无return语句,没有返回值

// 没有大括号,默认返回表达式结果

//函数体可以有返回值,也可以没有。如

var f1=(a,b)=>{return a+b}


  
    
  

运行结果:

一文说透ES6中的箭头函数表达式_第1张图片

 

 2 无参数

// 没有参数的函数应该写成一对圆括号。
() => { statements }

  
    
  

 运行结果:

一文说透ES6中的箭头函数表达式_第2张图片

 3 返回值为对象时

 如果箭头函数直接返回一个对象,必须在对象外面加上括号,否则会报错。


  
    
  

运行结果:

 3 箭头函数里的this

箭头函数体内的 this 对象就是定义时所在的对象,而不是使用时所在的对象。


  
    
  

运行结果:

一文说透ES6中的箭头函数表达式_第3张图片

 

箭头函数的this是在定义时绑定的,而不是在调用时绑定的,因此它们的this始终指向obj。而普通函数的this则是在调用时绑定的,因此它们的this可能会发生变化。

你可能感兴趣的:(es6,前端,ecmascript)