箭头函数()=>{}
March 11, 2020
712
ES6中的箭头函数(之前确实是通过阮一峰老师的书籍学过,但是学的很模糊哦,呜呜呜)
基本语法:(参数)=>{函数内容}
注意:箭头必须和参数在同一行(显然这也是必要的)
如果只有一个参数,则括号()可以省略,如果函数只有一个语句,则{}可以省略,另外后者的写法将会默认return其属性但不需要手写return(但是这个写法,在返回对象为{}对象字面量(注意此处对象的含义,咳咳)时必须加上return语句,以免造成语句的歧义)
1 |
|
箭头函数常用在将函数作为另一个函数的参数时使用,比如用在`setTimeout```以及```setTimeIntervals`
中
箭头函数有以下几个特点:
1.不绑定this
这意味着在箭头函数中的this总是指向上一作用域之中,也就是指向之前作用域所指向的对象(若之前也没有,就沿着作用域链往上搜索this)
因此,在定义方法时,如果想要使用箭头函数,那么这个函数尽量不要使用到this,或者要使用,也必须要确保使用的this是上一作用域的。
2.没有arguments对象
不能通过arguments对象来调用输入参数。
个人认为箭头函数一般都是写死在属性中,或者本身就是参数,也就没有一定要明确输入参数的必要。
3.不能作为生成器和构造器:
也就是说因为箭头函数没有this,没法构造对象和生成对象(箭头函数不能使用yield关键字)
4.没有原型
1 |
|
- 本文作者:AX
- 本文链接:http://xgpax.top/2020/03/11/%E7%AE%AD%E5%A4%B4%E5%87%BD%E6%95%B0/index.html
- 版权声明:本博客所有文章均采用 BY-NC-SA 许可协议,转载请注明出处!