箭头函数

 

Arrow Function 是ES6的新语法,使函数看起来更简洁!!

箭头函数类似于匿名函数

主要结构       () => {}     原来的函数结构 function() {}        省去了function 加上了箭头 

1.参数是一个的时候可以省略()  表达式只有一条可以省略{}  自带return

a => a++
//等同于
function(a){
  return a++
}

2.返回值为对象的时候必须加 ( ) 

a =>{
  name: jack,
  age: 18        
}       
 // 出错 对象的{}和函数的{}冲突,要加()


//改为
a => ({
  name: jack,
  age: 18    
})

3.this指向问题

箭头函数的没有自己this指向外围的函数

 4.不绑定arguments

箭头函数中不在绑定argunment,我们可以通过使用剩余参数来实现相同的功能,看代码

var f = (...Arr) => console.log(Arr[1])
f(1,2,3,4)  // 2

5.没有prototype属性

var Foo = () => {};
console.log(Foo.prototype); // undefined

 

6.不能使用new

var Foo = () => {};
var foo = new Foo(); // TypeError: Foo is not a constructor

 

 

 

posted @ 2018-09-23 20:26  Q_Qing  阅读(124)  评论(0编辑  收藏  举报