本篇主要是对于《ES6标准入门》中箭头函数部分内容的学习与总结。
推荐大家可以买这本书来看一下。

章节:第七章

基本用法

ES6允许使用箭头(=>)定义函数

var f = v => v;

等同于

var f = function(v) {
	return v;
}

若需要多个参数,

var f = (x,y)=>x+y;

若箭头函数的代码块多于一条语句,需要用大括号将其括起来,并使用return语句返回。

var f = (x,y)=>{return x+y}

若返回值是一个对象,则需要用括号括起来,

var f = (x,y)=>({x:1,y:2});

使用箭头函数可以简化回调函数。
比如将正常函数写法

[1,2,3].map(function(x) {
	return x * x;
}

简化为

[1,2,3].map(x => x * x);

rest参数与箭头函数函数结合

const headAndTail = (head, ...tail) => [head, tail];

headAndTail(1,2,3,4,5) // [1,[2,3,4,5]]

注意事项

箭头函数的this指向的是定义时所在的对象。这点后续可深入展开。

function fnc() {
	var x = 1;
	return () => this.x; //1
}

箭头函数不能用做构造函数
箭头函数没有arguments对象
不可以使用yield命令,因此箭头函数不能用作Generater函数
箭头函数自身没有this

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐