使用if语句设置attributeTwo。这样做的正确方法是什么?
var testBoolean = true;
var object = {
attributeOne: "attributeOne",
attributeTwo: if (testBoolean) { "attributeTwo" } else { "attributeTwoToo" },
}
答案 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)
确实可以,但为什么不在将条件语句分配给对象属性之前执行条件语句。代码会更好。