踩坑 ES6箭头函数 this指向问题记录

之前看es6新特性时,有个印象关于 ES6箭头函数 this指向问题的特殊性。然而并没谨记在心o(╥﹏╥)o

今儿帮忙解决问题,调入此坑将近两小时不能自拔😭

最开始的现象只是赋值无法成功,追查到时因为无法进入组件监听所以没有update,之后发现this.data 要赋值的对象是普通的js对象,而非vue对象。

而后追查到时this指向问题。之后追查到在发request请求then的回调结果中this的指向变成了Window对象,而非vue对象。然后又傻傻地追查了好几种写法的区别,由于这个小姐姐写法稍稍不规范,试了几种不同写法,还是卡在发请求回调结果的this指向问题上。

最后,拉出代码文件对比,猛然想起ES6箭头函数 this指向的特殊性o(╥﹏╥)o。我习惯性地用箭头函数,都没留意这位小姐姐用的是function()方式接受回调结果。

学艺不精,才这么后知后觉o(╥﹏╥)o

再好好学习一遍:

使用注意点
箭头函数有几个使用注意点。
(1)函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。
(2)不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。
(3)不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值