ES6 用=>箭头定义函数

笔记部分摘自:http://www.csdn.net/article/2015-07-08/2825159-es6-in-depth-arrow-functions

一、基本用法

ES6中可以使用“箭头”(=>)定义函数。

1、参数单一时:

//ES5
var selected=allJobs.filter(function (job) {
    return job.isSelected();
})

//ES6中可改写为以下方式
var selected=allJobs.filter(job => job.isSelected());

2、函数有多个参数时,只要把相关参数用括号包起来:

//ES5
var total = values.reduce(function (a,b) {
    return a+b;
},0);

//ES6
var total = values.reduce( (a,b)=>a+b, 0);

3、箭头函数不仅是单一表达式,而是区块语句时:

//ES5
$("#a-btn").click(function (event){
    playTrumpet();
    doSomething();
});

//ES6
$("#a-btn").click(event=>{
    playTrumpet();
    doSomething();
});
二、关于this

1、箭头函数内部有绑定this的机制。
箭头函数没有自己的this值。函数体内的this对象,就是外层代码块的this。因为它没有this,故而不能用作构造函数。
同时,由于没有自己的this,也不能使用call()、apply()、bind()这些方法去改变this指向。

2、不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用Rest参数代替。
因为rest运算符显式表明你想要获取参数,而且arguments是一个类似数组的对象,而rest运算符可以提供一个真正的数组。

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

推荐阅读更多精彩内容

  • 函数参数的默认值 基本用法 在ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法。 上面代码检查函数l...
    呼呼哥阅读 3,482评论 0 1
  • 1.函数参数的默认值 (1).基本用法 在ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法。
    赵然228阅读 708评论 0 0
  • 三,字符串扩展 3.1 Unicode表示法 ES6 做出了改进,只要将码点放入大括号,就能正确解读该字符。有了这...
    eastbaby阅读 1,577评论 0 8
  • 又是无聊枯燥的一天。远处的造船厂上刺眼的光芒闪烁了整整一天,从早上我上岗就在那闪烁,塔其尔说那是在调整动力布局,要...
    对苯胺阅读 205评论 0 0
  • 2017.10.21 星期六 晴天 中午小姨煮了水煮鱼,晚上睡觉前又吃蛋糕! 五岁了,感叹时间飞逝啊!祝愿你,健康...
    室是陋室阅读 195评论 0 0