我正在寻找更好的语法来编写以下代码,并且我想知道是否有一个选项可以通过使用解构赋值来分配函数的返回值:
const object = {
property: 10,
getFunction() {
return "getFunction value";
}
}
const {property, getFunction} = object;
console.log("Property: ", property, " getFunction: ", getFunction);
这里,这段代码返回以下内容,这是完全正常的:
"Property: 10, getFunction: [Function: getFunction]"
我想知道是否有语法选项可以编写如下内容:(不起作用)
const {property, getFunctionValue: getFunction()} = object;
并从作业中获取“getFunction value”
。
最佳答案
不幸的是,您正在寻找的语法不存在(我也想这样做很多很多次)。您不能在解构操作中调用正在检索的函数。 不允许您对解构模式的“from”部分使用任意表达式。解构总是进行属性访问,而不是函数调用。
您必须单独执行此操作,例如:
const { property } = object;
const getFunctionValue = object.getFunction();
或类似的。
¹ 除非它是访问器属性的 getter 函数
关于javascript - 如何解构函数的返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75243868/