轻松手上ES6中的箭头函数!(告别复杂的讲解,快速掌握ES6最核心的部分!)

ES6中的箭头函数(之前确实是通过阮一峰老师的书籍学过,但是学的很模糊哦,呜呜呜)

基本语法:(参数)=>{函数内容}

注意:箭头必须和参数在同一行(显然这也是必要的)

如果只有一个参数,则括号()可以省略,如果函数只有一个语句,则{}可以省略,另外后者的写法将会默认return其属性但不需要手写return(但是这个写法,在返回对象为{}对象字面量(注意此处对象的含义,咳咳)时必须加上return语句,以免造成语句的歧义)

()=>{return {AX:666}};

箭头函数常用在将函数作为另一个函数的参数时使用,比如用在setTimeout以及setTimeIntervals

箭头函数有以下几个特点:

1.不绑定this

这意味着在箭头函数中的this总是指向上一作用域之中,也就是指向之前作用域所指向的对象(若之前也没有,就沿着作用域链往上搜索this)

因此,在定义方法时,如果想要使用箭头函数,那么这个函数尽量不要使用到this,或者要使用,也必须要确保使用的this是上一作用域的。

2.没有arguments对象

不能通过arguments对象来调用输入参数。

个人认为箭头函数一般都是写死在属性中,或者本身就是参数,也就没有一定要明确输入参数的必要。

3.不能作为生成器和构造器:

也就是说因为箭头函数没有this,没法构造对象和生成对象(箭头函数不能使用yield关键字)

4.没有原型

let fn=()=>{};
console.log(fn.propotype);//undefinded
发布了13 篇原创文章 · 获赞 9 · 访问量 496

猜你喜欢

转载自blog.csdn.net/qq_44831027/article/details/104808414