Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: constructor, prototype

Что такое функция-конструктор?

Этот вопрос проверяет понимание концепции функций-конструкторов и их роли в создании объектов в JavaScript.

Короткий ответ

Функция-конструктор - это обычная функция, которая используется с оператором new для создания объектов. Она определяет структуру и начальное состояние создаваемых объектов. При вызове с new функция создает новый объект, устанавливает его прототип и выполняет инициализацию через ключевое слово this.

Длинный ответ

Функция-конструктор в JavaScript

Функция-конструктор - это специальный тип функции, который используется для создания и инициализации объектов.

Определение функции-конструктора

Функция-конструктор объявляется как обычная функция, но имеет определенные соглашения:

function Person(name, age) {
  // Свойства устанавливаются через this
  this.name = name;
  this.age = age;
  
  // Методы также могут добавляться через this
  this.greet = function() {
    console.log(`Привет, я ${this.name}`);
  };
}

Особенности функций-конструкторов

  • Именование: По соглашению начинаются с заглавной буквы

  • Использование: Вызываются с оператором new

  • Возвращаемое значение: Обычно не возвращают значение явно

  • Контекст: this внутри функции ссылается на создаваемый объект

Процесс создания объекта

При вызове функции с new происходит следующее:

  1. Создается новый пустой объект

  2. Устанавливается прототип объекта

  3. Вызывается функция-конструктор с this, указывающим на новый объект

  4. Возвращается созданный объект

Пример использования

// Создание объектов через конструктор
const person1 = new Person('Иван', 30);
const person2 = new Person('Мария', 25);

console.log(person1.name); // "Иван"
console.log(person2.age);  // 25

Добавление методов в прототип

Для оптимизации памяти методы лучше добавлять в прототип:

function Person(name, age) {
  this.name = name;
  this.age = age;
}

// Методы добавляются в прототип
Person.prototype.greet = function() {
  console.log(`Привет, я ${this.name}`);
};

Вывод: Функции-конструкторы используются для создания множества объектов с одинаковой структурой. Они обеспечивают переиспользование кода и являются основой для объектно-ориентированного программирования в JavaScript до появления классов.

Уровень

  • Рейтинг:

    4

  • Сложность:

    4

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#constructor

#prototype

Подпишись на React Developer в телеграм