首页 > 解决方案 > 我可以在对象声明中进行数组解构赋值吗?

问题描述

我知道我可以这样做:

const [MIN_SPEED, MAX_SPEED] = [0.4, 4.0];

我想要的是:

const SpeedManager = {
  [MIN_SPEED, MAX_SPEED]: [0.4, 4.0]
}

这相当于:

const SpeedManager = {
  MIN_SPEED: 0.4,
  MAX_SPEED: 4.0
}

但语法无效,我该如何实现?

标签: javascript

解决方案


这是不可能的 - 任何涉及解构的事情都必须为引用分配值(独立变量名或嵌套属性)。但是在这里,您没有引用,至少在对象初始化器内部时没有。

我会坚持使用非解构方法,尽管一个丑陋的选择是:

const SpeedManager = {};
([SpeedManager.MIN_SPEED, SpeedManager.MAX_SPEED] = [0.4, 4.0]);
console.log(SpeedManager);


推荐阅读