Кто-нибудь знает больше Shorthand Action Script 3?
Я привык использовать сокращение if else:
var = (если утверждение)? "что-то": "что-то еще";
Существуют ли другие методы коротких рук?
4 ответа
Не уверен, что это вписывается в то, что вы спрашиваете, но это также работает:
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';
Во многих случаях хорошо думать об этом как о сокращении. Со временем ваш мозг будет инстинктивно выбирать условный оператор, где это уместно; но, как только вы промокли, вы обнаружите, что условный оператор - отличный способ выразить код более кратко.