Get to know MDN better
This page was translated from English by the community. Learn more and join the MDN Web Docs community.
This feature is well established and works across many devices and browser versions. It’s been available across browsers since июль 2015 г..
Оператор (операторная функция) new создаёт экземпляр объекта, встроенного или определённого пользователем, имеющего конструктор.
Функция, задающая тип объекта.
argumentsСписок параметров, с которыми будет вызван конструктор.
Создание объекта, определённого пользователем, требует два шага:
Чтобы определить новый тип объекта, создайте функцию, которая задаст его и имя и свойства. Свойство объекта также может быть объектом. Примеры приведены ниже.
Когда исполняется new Foo(...) , происходит следующее:
Всегда можно добавить свойство к уже созданному объекту. Например, car1.color = "black" добавляет свойство color к объекту car1, и присваивает ему значение "black". Это не затрагивает другие объекты. Чтобы добавить свойство ко всем объектам типа, нужно добавлять его в определение типа Car.
Добавить свойство к ранее определённому типу можно используя свойство Function.prototype. Это определит свойство для всех объектов, созданных этой функцией, а не только у какого-либо экземпляра. Следующий пример добавляет свойство color со значением null всем объектам типа car, а потом меняет его на "black" только у экземпляра car1. Больше информации в статье prototype.
Предположим, нам нужен тип объекта для автомобилей. Этот тип должен называться car, и иметь свойства: марка, модель и год.
Теперь можно создать экземпляр типа car:
Это выражение создаёт экземпляр mycar и присваивает его свойствам указанные значения. Таким образом, mycar.make принимает значение "Eagle", mycar.year принимает значение 1993, и так далее.
Можно создать любое количество экземпляров car с помощью оператора new. Например:
Предположим, есть объект person:
Создадим два экземпляра:
Изменим определение car, добавив свойство, указывающее владельца — owner:
Создадим экземпляры car:
Вместо строковых или численных значений можно передать объект как параметр. Чтобы узнать имя владельца car2, получим доступ к свойству:
| ECMAScript® 2027 Language Specification # sec-new-operator |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 7 авг. 2023 г. by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.