javascript - 如何解构函数的返回值?

标签 javascript

我正在寻找更好的语法来编写以下代码,并且我想知道是否有一个选项可以通过使用解构赋值来分配函数的返回值:

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/

相关文章:

javascript - 使用 vue.js 在每个页面上更改 laravel 变量

javascript - 如何使用 HTML 类属性渲染 React 组件?

javascript - 在代码补全中使用类型名称而不是 !type 值

javascript - 更新键值,其中不同的键等于某个值

javascript - 如何迭代无限动画并在迭代之间有延迟

javascript - highcharts:类型错误:无法读取未定义的属性 '0'

javascript - 如何在laravel中访问js文件中的env变量

javascript - 在移动浏览器中尝试/捕获Javascript?

php - 如何从文本输入向 URL 添加 anchor 标记

javascript - Flickr JSON 在 JavaScript 跨域中返回错误