我习惯使用if else速记:
var =(if语句)? '某事':'别的';
还有其他简易方法吗?
答案 0 :(得分:7)
不确定这是否符合您的要求,但这也有效:
var myVar:String = someStrThatMightBeNull || "default value if that other value is null";
因此,如果赋值运算符右边的第一个值为null / undefined,它将使用文字字符串。
答案 1 :(得分:6)
var myArray:Array = new Array();
可替换为:
var myArray:Array = [];
对象也是如此:
var myObj:Object = new Object();
可替换为:
var myObj:Object = {};
答案 2 :(得分:4)
x ||= 5; // set x to 5 if x evaluates to false
x || someMethod(); // call someMethod if x evaluates to false
x && someMethod(); // call someMethod if x evaluates to true
答案 3 :(得分:3)
严格地说,这不是if / else语句的简写。这是一个叫做条件运算符的三元运算符。
请注意,虽然这些做同样的事情,但它们的阅读方式不同:
// if the condition is true, we do something... maybe many things
if (condition) {
var = 'something';
} else {
var = 'something else';
}
// reads more clearly as an assignment based upon a condition
var = (condition) ? 'something' : 'something else';
在许多情况下,将其视为速记是很好的。随着时间的推移,你的大脑会在适当的时候选择一个条件运算符;但是,当你只是沾沾自喜时,你会发现条件运算符是一种更简洁地表达代码的好方法。