В Flex ActionScript новый объект можно инстанцировать через конструктора без параметров с или без ()
. Пример:
var array:ArrayCollection = new ArrayCollection()
или
var array:ArrayCollection = new ArrayCollection
Существует ли различие между двумя? Каждый предпочтен по другому?
Я думаю, что функционально разницы нет, но мне нравится использовать () только из-за соглашения.
если вы не собираетесь ничего делать с конструктором, вам даже не нужно заходить так далеко:
var array:ArrayCollection;
прекрасно объявит вашу переменную.
Вероятно, нет реальной разницы, поскольку конструктор, вероятно, является магическим методом, который будет автоматически вызываться при вызове класса.
Я не знаю никаких различий между этими двумя способами инстанцирования объекта, однако условности склоняются к использованию ()
. Подумайте о том, когда вы инстанцируете объект, который требует параметров, передаваемых в конструктор var e:Event = new Event('EventType');
, наличие круглых скобок, даже если они остаются пустыми, говорит о том, что ничего не передается.
Интересный момент. До вашего вопроса я даже не пытался передать класс оператору «new» без закрытия, чтобы указать, что я вызываю конструктор. Я просто попробовал без него, и он работает, но мне было бы неудобно делать это таким образом.