Что следует использовать при объявлении переменной, как показано ниже:
private var someVar:*;
ИЛИ
private var someVar:Object;
В чем разница между ними?Что делает одного превосходящего другого в различных ситуациях?Есть примеры?
Спасибо.
someVar:* - это специальный нетипизированный var, который содержит значение по умолчанию undefined, в то время как
someVar:*
undefined
Object значение по умолчанию var равно null.
Object
null
Это единственное ключевое отличие.
Из документации Adobe,
private var someVar:*; private var someVar:Object;
В предыдущих версиях ActionScript переменной без аннотации типа автоматически назначался тип данных Object.Это больше не верно в ActionScript 3.0, который теперь включает идею действительно нетипизированной переменной.Переменные без аннотации типов теперь считаются нетипизированными.Если вы предпочитаете разъяснить читателям своего кода, что вы намерены оставить переменную нетипизированной, вы можете использовать новый символ звездочки (*) для аннотации типа, что эквивалентно пропуску аннотации типа.В следующем примере показаны два эквивалентных оператора, каждый из которых объявляет нетипизированную переменную x: