Спросят с вероятностью 7%
new используется для создания экземпляра объекта на основе функции-конструктора или класса. Процесс его работы можно разделить на несколько шагов:
1️⃣ Создание нового объекта: Когда вы используете его, JavaScript создаёт новый пустой объект.
2️⃣ Присвоение прототипа: Прототип созданного объекта устанавливается в значение свойства
prototype функции-конструктора. Это означает, что новый объект наследует свойства и методы, определённые в прототипе конструктора.3️⃣ Вызов функции-конструктора: Функция-конструктор вызывается с аргументами, переданными в неи, и контекстом
this, установленным в только что созданный объект. Это позволяет добавлять свойства и методы непосредственно к экземпляру.4️⃣ Возврат значения: Если функция-конструктор возвращает объект, то этот объект возвращается вместо только что созданного. Если возвращается не объект (например, примитивное значение) или функция-конструктор вообще ничего не возвращает, то возвращается созданный на шаге 1 объект.
Пример:
function Person(name, age) {
this.name = name;
this.age = age;
}
Person.prototype.greet = function() {
console.log(Привет, меня зовут ${this.name}!);
};
// Создаём новый объект с помощью new
const person1 = new Person('Алексей', 30);
person1.greet(); // Выводит: "Привет, меня зовут Алексей!"В этом примере
new Person('Алексей', 30) создаёт новый объект, прототипом которого является Person.prototype, и вызывает функцию Person с this, указывающим на новый объект, что позволяет добавить свойства name и age к этому объекту. После этого, с новым объектом можно взаимодействовать, как с экземпляром Person, включая вызов методов, определённых в Person.prototype.new позволяет создавать новые объекты на основе функций-конструкторов или классов, автоматически устанавливая связь между созданным объектом и прототипом конструктора, что обеспечивает наследование свойств и методов.
👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти к Списку всех вопросов на Frontend Developer. Ставь 👍 если нравится контент.
🔐 База собесов | 🔐 База тестовых