箭头函数和普通函数有什么区别

一 箭头函数与普通函数的主要区别

1  声明方式不同

函数:function(参数,..., 参数){return}

箭头函数:(不同名的参数,..., 不同名的参数){return}

2 this指向不同

函数:指向运行时所在的对象

箭头函数:箭头函数没有自己的this对象,它内部的this是上层作用域中的this

注:箭头函数的this指向不可变,call、apply、bind无法改变它的this指向

3 箭头函数不能作为构造函数,它没有原型prototype,箭头函数使用new会报错

4 箭头函数没有new.target

   箭头函数的this指向全局对象时,使用new.target会报错

   箭头函数的this指向普通函数时,使用new.target返回普通函数的引用

5 箭头函数没有arguments

   它处于全局时,使用arguments报错

   它处于普通函数作用域时,arguments是上层普通函数的作用域

6 不可以使用yield命令,因此箭头函数不能用作Generator函数

7 箭头函数不适用的场景

   不适合做对象方法,且方法中使用了this

   当函数需要动态this时

8 箭头函数适用用的场景

   箭头函数适合于无复杂逻辑或副作用的纯函数场景,如:map、reduce、filter的回调函数

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值