私はifelseの省略形を使用することに慣れています:
var =(ifステートメント)?'何か':'何か他のもの';
他に利用できる速記法はありますか?
私はifelseの省略形を使用することに慣れています:
var =(ifステートメント)?'何か':'何か他のもの';
他に利用できる速記法はありますか?
これがあなたが求めているものに適合するかどうかはわかりませんが、これも機能します:
var myVar:String = someStrThatMightBeNull || "default value if that other value is null";
したがって、代入演算子の右側の最初の値がnull / undefinedの場合、リテラル文字列が使用されます。
var myArray:Array = new Array();
次のものに置き換えることができます。
var myArray:Array = [];
同じことがオブジェクトにも当てはまります:
var myObj:Object = new Object();
次のものに置き換えることができます。
var myObj:Object = {};
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
厳密に言えば、これは 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';
多くの場合、省略形と考えて問題ありません。時間の経過とともに、脳は本能的に適切な条件演算子を選択します。しかし、まだ始めたばかりなので、条件演算子はコードをより簡潔に表現する優れた方法であることがわかるでしょう。