JavaScript,以对象属性方法为例,箭头函数访问this对象
发布于 作者:苏南大叔 来源:程序如此灵动~

本文还是说箭头函数与this
的关系,不过举例从普通的箭头函数定义,升级为类(对象)的属性定义使用this
。对箭头函数的this
来源,做个更深层次的理解。

苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验总结。本文测试环境:nodejs@20.18.0
,chrome@132.0.6834.84
。
前文回顾
定义个复杂对象的方式,有很多方式。参考:
箭头函数的基本理解,和this
、arguments
的关系对比。参考:
本篇文章是上述两篇文章的合并组合测试。在前两篇文章里面,苏南大叔提到:箭头函数和this
的组合,尽量少用。因为可能有歧义。那么,本文再次测试这个组合。
箭头函数的this
是在定义的时候,从父层对象里面得到的。后续运行的时候,不能够二次绑定。
函数类中的箭头函数
下面的代码中,只有定义在.prototype
上的箭头函数,没有拿到this
值。

ES2015类中的箭头函数
这个ES2015
类的写法,很常见,运行结果同上。参考代码:

复杂对象中的箭头函数

和上面两个例子对比,在这个实验中,得出了不同的结论。
- 首先,
.prototype
是undefined
,所以不能继续在原型上操作。 - 其次,在这个代码里面,箭头函数没能拿到
this
值。
结语
更多苏南大叔的JavaScript
经验文章,请点击:


