я увидел следующее заявление где-то -Actionscript переменная объявлена как * (звезда) типа
var someVariable:*;
Почему someVariable объявлен как * (звездочка) типа? Каково использование объявления таким образом?
я увидел следующее заявление где-то -Actionscript переменная объявлена как * (звезда) типа
var someVariable:*;
Почему someVariable объявлен как * (звездочка) типа? Каково использование объявления таким образом?
Практическая разница между *
и Object
является то, что может быть *
undefined
тогда Object
не может.
Документах есть this сказать:
Указывает, что свойство является нетипизированным. Использование символа звездочки для аннотации типа эквивалентно использованию аннотации типа. Выражения, считанные из нетипизированных свойств, считаются нетипизированными выражениями. Использование нетипизированных выражений или свойств рекомендуется в следующих случаях:
Если вы хотите отложить проверку типов во время выполнения. Вы можете использовать нетипизированное свойство или выражение, чтобы обходить проверку типа компиляции в строгом режиме. Однако обратите внимание, что проверка типов выполнения для операторов присваивания возникает, если вы используете строгий режим или нет.
Если вы хотите сохранить значение, не определенное в свойстве. В отличие от предыдущих версий ActionScript, значение undefined не является членом типа данных Object. Вы должны использовать свойство untyped для хранения значения undefined.