javascript - 在 Javascript 中定义对象文字时如何引用对象属性?

标签 javascript

我正在尝试执行以下操作:

var Colors = {
    'BLUE    ': 1,
    'RED'    : 2,
    'YELLOW' : 3
};

var Boxes = {
    Colors.BLUE   : 5,
    Colors.RED    : 1,
    Colors.YELLOW : 0
};

console.log(Boxes);

但是,我收到以下错误:

Uncaught SyntaxError: Unexpected token .

如何引用 Colors定义时对象 Boxes

我想仅使用对象文字语法来执行此操作。谢谢。

最佳答案

您必须更详细并使用方括号表示法来定义变量属性名称:

var Colors = {
    'BLUE'   : 1,
    'RED'    : 2,
    'YELLOW' : 3
};

var Boxes = {};
Boxes[Colors.BLUE] = 5;
Boxes[Colors.RED] = 1;
Boxes[Colors.YELLOW] = 0;

console.log(Boxes);

但是在 ES2015 中,您可以使用表达式来初始化对象键,这称为 Computed property names :

var Boxes = {
    [Colors.BLUE]   : 5,
    [Colors.RED]    : 1,
    [Colors.YELLOW] : 0
};

关于javascript - 在 Javascript 中定义对象文字时如何引用对象属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32727020/

相关文章:

javascript - 使用 javascript 将类添加到 html 元素

javascript - 覆盖复杂原型(prototype)javascript中的函数

javascript - 身份验证后 Perl CGI 重定向

javascript - 具有更多图像的 Jquery 1 id 并更改所有图像宽度/高度/位置

javascript - 如何从 Bootstrap 下拉菜单中获取值(jQuery)

javascript - 下载50%后开始播放视频

javascript - 查找字符串js中添加的字符

javascript - 将字符串 [object Object ] 转换为对象?

javascript - 如何在 Loopback JS 中轻松复制模型和相关模型

javascript - JavaScript ES6 (<<) 中的按位左移是否在 63 位以上循环?