箭头函数未获取对象属性的值[重复]

问题描述 投票:0回答:1

我尝试在 JS 对象内部使用箭头函数,但它没有获取对象属性的值。但是,如果我使用传统的函数表达式,它就可以正常工作。

这是一个例子,首先使用箭头函数:

const obj = {
    name: "StackOveflow",
    simpleMethod: () => `Hello, ${this.name}!`
};

console.log(obj.simpleMethod());

输出是:

Hello, undefined!

现在使用传统的函数表达式:

const obj = {
    name: "StackOveflow",
    simpleMethod: function () {
        return `Hello, ${this.name}!`
    }
};

console.log(obj.simpleMethod());

输出是:

Hello, StackOveflow!

为什么箭头函数获取不到属性名称?

期望箭头函数能够获取属性的值,其工作方式与传统函数表达式相同

javascript object arrow-functions
1个回答
1
投票

箭头函数不知道它的上下文,它不是闭包。

另一方面,函数正确地绑定到“this”。

© www.soinside.com 2019 - 2024. All rights reserved.