Мне нравится узнавать о хитрых новых способах делать вещи. Допустим, у вас есть класс со свойством, которому в конструкторе присваивается значение аргумента, например:
package{
public class SomeClass{
private var someProperty:*;
public function SomeClass(_someProperty:*):void{
someProperty = _someProperty;
}
}
}
Это не совсем хлопот. Но представьте, у вас есть ... Я не знаю, пять свойств. Десять свойств, возможно. Вместо того, чтобы записывать каждое отдельное присваивание построчно, не существует ли способа перебрать аргументы конструктора и соответственно установить значение каждого соответствующего свойства в новом экземпляре? Я не думаю, что объекты ...rest
или arguments
будут работать, поскольку они содержат только перечислимый список аргументов, а не имена аргументов - я думаю, что-то вроде этого было бы лучше:
for(var propertyName:String in argsAsAssocArray){this[propertyName] = argsAsAssocArray[propertyName];}
... что-то подобное существует?