2

我习惯使用 if else 简写:

var = (if 语句) ? '东西' : '别的东西';

有没有其他可用的速记方法?

4

4 回答 4

7

不确定这是否符合您的要求,但这也有效:

var myVar:String = someStrThatMightBeNull || "default value if that other value is null";

因此,如果赋值运算符右侧的第一个值为 null/未定义,它将使用文字字符串。

于 2009-06-08T22:19:00.277 回答
5
var myArray:Array = new Array();

可以替换为:

var myArray:Array = [];

对象也是如此:

var myObj:Object = new Object();

可以替换为:

var myObj:Object = {};
于 2009-06-09T07:06:47.320 回答
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
于 2013-01-12T18:54:24.297 回答
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';

在许多情况下,可以将其视为速记。随着时间的推移,你的大脑会本能地选择合适的条件运算符;但是当您刚刚开始涉足时,您会发现条件运算符是更简洁地表达代码的好方法。

于 2009-06-08T20:47:47.667 回答