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