首页 > 解决方案 > 对房子“this”感到困惑,它适用于匿名函数和 const

问题描述

我有以下代码

const name = 'Jordan'

const myObj = {
  getName: function() {
    return this.name
  },
  getNameAnonymous: () => {
    return this.name
  }

}

console.log(myObj.getName())
console.log(myObj.getNameAnonymous())

运行时,getName返回undefinedgetNameAnonymous返回"result"(当我在 JSFiddle 中运行它时,但当我使用 Node 运行它时,我得到了undefined

据我了解this,对象内部的箭头函数绑定到父范围,那么为什么不getNameAnonymous返回Jordan?为什么getName返回undefined而不是ReferenceError?

标签: javascriptobjectthis

解决方案


推荐阅读