设置属性时,我可以在Javascript对象中编写if语句吗?

时间:2014-02-04 20:26:27

标签: javascript

使用if语句设置attributeTwo。这样做的正确方法是什么?

var testBoolean = true;

var object = {
  attributeOne: "attributeOne",
  attributeTwo: if (testBoolean) { "attributeTwo" } else { "attributeTwoToo" },
}

5 个答案:

答案 0 :(得分:26)

不,但您可以使用ternary operator

var testBoolean = true;

var object = {
  attributeOne: "attributeOne",
  attributeTwo: testBoolean ? "attributeTwo" : "attributeTwoToo"
}

答案 1 :(得分:3)

您不能直接使用if语句,但可以使用ternary operator(也称为条件运算符),其行为方式符合您的要求。以下是它的外观:

var testBoolean = true;

var object = {
  attributeOne: "attributeOne",
  attributeTwo: testBoolean ? "attributeTwo" : "attributeTwoToo"
}

答案 2 :(得分:3)

如果它在一个立即调用的函数中,你可以使用if语句。

var x = {
  y: (function(){
       if (true) return 'somevalue';
     }())
};

答案 3 :(得分:1)

您也可以使用此方法

var testBoolean = true;

var object = {
  attributeOne: "attributeOne"
}
  

1

if(testBoolean){
   object.attributeTwo = "attributeTwo"
}else{
   object.attributeTwo = "attributeTwoToo"
}
  

2

object.attributeTwo = testBoolean ? "attributeTwo" : "attributeTwoToo"

答案 4 :(得分:-1)

确实可以,但为什么不在将条件语句分配给对象属性之前执行条件语句。代码会更好。