gpt4 book ai didi

javascript - JS 如何计算表达式 ({...}).objMethod()?

转载 作者:行者123 更新时间:2023-12-02 23:01:56 28 4
gpt4 key购买 nike

根据我对 JS 中表达式如何计算的有限知识,在下面的代码中,我知道括号使 JS 引擎计算括号内的任何内容,作为表达式 ({..})所以 ({..}) 这将评估对象 {...} 返回到全局范围(在这种情况下,<<我对吗?如果不是请纠正我)或无论表达式所在的范围。

但我不明白的是如何在表达式 返回对象的范围/上下文中评估greet函数({...}).greet() ({..})。通常,至少我会将表达式的返回值分配给返回 obj 的变量/引用,然后调用该 obj 的greet() 方法,如下所示

var x = ({...})
x.greet()

然后,下面的代码是如何计算的。

({
name: "John Doe",
data: {
message: "Hello World"
},
greet: function(){
console.log("I am " + this.name);
console.log("I have a message for you: " + this.data.message);
}
}).greet();

谢谢

最佳答案

正如您所期望的那样,它只是评估对象,然后调用它的 greet 方法。是这样的:

console.log({ foo: 1 }.foo);

除非使用方法。另请注意,括号在上面的语句中是可选的,但在您的问题中是必需的。

关于javascript - JS 如何计算表达式 ({...}).objMethod()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57745070/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com