对象中的条件变量

时间:2012-11-07 19:24:23

标签: javascript object shorthand conditional

只是尝试做这样的事情而且它不起作用,想知道是否还有?

var obj = {
    intiger:5,
    conditional:(something) ? "something" : "nothing",
    string:"nothing important"
};

由于:中存在conditional,因此会中断。无论如何要做到这一点,不要打破并保持这种格式obj

我知道我能做到。

obj.conditional = (something) ? "something" : "nothing";

1 个答案:

答案 0 :(得分:4)

使用另一组括号?

...
conditional:((something)?"something":"nothing"),
...

只需让解析器知道要关注哪个:以及出于何种目的。

var foo = {
    bar: (true ? "true" : "false")
};
console.log(foo.bar); // true

如果需要在参考时作出决定,您也可以使用function(){}。 e.g。

var foo = {
    bar:function(){
        return this.baz == 'Brad' ? 'Me' : 'Not Me';
    },
    baz: 'Brad'
};
console.log(foo.bar()); // 'Me'
foo.baz = 'Thomas'; console.log(foo.bar()); // 'Not Me'