Оператор new создает новый объект и вызывает функцию_конструктор для его инициализации. Это унарный оператор, указываемый перед вызовом конструк_ тора и имеющий следующий синтаксис:
new конструктор(аргументы)
Здесь конструктор – это выражение, результатом которого является функция_ конструктор, и за ним должны следовать ноль или более аргументов, разделен_ ных запятыми и заключенных в круглые скобки. Как особый случай и только для оператора new JavaScript упрощает грамматику, допуская отсутствие ско_ бок, если у функции нет аргументов. Вот несколько примеров использования оператора new:
| o = new Object;
| //
| Здесь
| необязательные
| скобки опущены
|
|
|
| d
| =
| new
| Date();
| //
| Возвращает
| объект
| Date, содержащий текущее
| время
|
| c
| =
| new
| Rectangle(3.0, 4.0,
| 1.5,
| 2.75);
| //
| Создает объект
| класса
| Rectangle
|
| | | | | | | | | | | | |
obj[i] = new constructors[i]();
Оператор new сначала создает новый объект с неопределенными свойствами, а за_ тем вызывает заданную функцию_конструктор, передавая ей указанные аргу_ менты, а также только что созданный объект в качестве значения ключевого слова this. С помощью этого слова функция_конструктор может инициализиро_
96 Глава 5. Выражения и операторы

вать новый объект любым необходимым образом. В главе 7 оператор new, ключе_ вое слово this и функции_конструкторы рассмотрены более подробно.
Оператор new может также применяться для создания массивов с помощью син_ таксиса new Array(). Подробнее о создании объектов и массивов и работе с ними мы поговорим в главе 7.