JavaScript 当使用箭头函数作为回调函数时,回调函数主体中的 this 引用是否在方法调用之前解析?
JavaScript are this references in the body of callback functions resolved prior to method invocation when using arrow functions as callback functions?
试图弄清楚在使用箭头函数作为回调函数时 this 引用如何解析到词法上下文。我怀疑回调函数主体中的 this 引用在调用该方法之前已解析。即,在箭头函数作为参数传递之前(而不是在每次迭代时,例如如果方法是 forEach())。但我似乎无法找到任何确定的东西。我确实尝试记录传递的函数,但编写了自己的 forEach() 函数,认为我可以捕获传递的箭头函数和传递的非箭头函数之间的区别。但是为了日志目的转换为字符串的 func 参数基本上没有显示任何内容 - 显示它仍在函数中(未解决)。
我们可以参考语言规范,声明箭头函数在其实例化期间获取 this
值的知识:https://262.ecma-international.org/12.0/#sec-runtime-semantics-instantiatearrowfunctionexpression
试图弄清楚在使用箭头函数作为回调函数时 this 引用如何解析到词法上下文。我怀疑回调函数主体中的 this 引用在调用该方法之前已解析。即,在箭头函数作为参数传递之前(而不是在每次迭代时,例如如果方法是 forEach())。但我似乎无法找到任何确定的东西。我确实尝试记录传递的函数,但编写了自己的 forEach() 函数,认为我可以捕获传递的箭头函数和传递的非箭头函数之间的区别。但是为了日志目的转换为字符串的 func 参数基本上没有显示任何内容 - 显示它仍在函数中(未解决)。
我们可以参考语言规范,声明箭头函数在其实例化期间获取 this
值的知识:https://262.ecma-international.org/12.0/#sec-runtime-semantics-instantiatearrowfunctionexpression