Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Специализация

Python Backend Developer

Java Backend Developer

Node.js Backend Developer

Golang Backend Developer

React Frontend Developer

Посмотреть все

Выберите навыки

React

React

JavaScript

JavaScript

Git

Git

Redux

Redux

Webpack

Webpack

Посмотреть все

Сложность

1-3

4-6

7-8

9-10

Рейтинг вопросов

1

2

3

4

5

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

Вопросы React Frontend Developer


Для чего нужен прототип?

Прототип — это объект, от которого другой объект может наследовать свойства и методы. В JavaScript каждый объект имеет скрытое свойство [[Prototype]], которое указывает на его прототип. Это позволяет организовать наследование, чтобы не дублировать код и переиспользовать общие методы. Например, если метод не найден в объекте, JavaScript ищет его в прототипе.

Пример:

const animal = { eats: true };
const dog = Object.create(animal);
console.log(dog.eats); // true
Подробнее

Объясните концепцию прототипного наследования в JavaScript?

Прототипное наследование — это механизм в JavaScript, при котором объекты могут наследовать свойства и методы от других объектов через цепочку прототипов. Каждый объект в JavaScript имеет скрытую ссылку на свой прототип, что позволяет получать доступ к свойствам и методам, которые не определены непосредственно на объекте. Основной механизм наследования в JavaScript базируется на связи через прототипы, а не на классах, как в других языках программирования.

Подробнее

Для чего нужен прототип и как присвоить прототип объекту?

Прототип в JavaScript — это объект, от которого другие объекты могут наследовать свойства и методы. Присвоить прототип можно с помощью метода Object.create() или через свойство __proto__. Это позволяет организовать наследование и разделять общие методы и свойства между несколькими объектами.

Подробнее

Как работает this для прототипов объекта?

Когда метод вызывается на объекте, который наследует этот метод через прототип, this указывает на объект, на котором был вызван метод, а не на сам прототип. То есть, независимо от того, где определен метод — на объекте или на его прототипе — this всегда ссылается на объект, который инициировал вызов.

Подробнее

Как создать наследование в JavaScript с использованием прототипов?

Наследование в JavaScript можно реализовать через прототипы, связывая объекты друг с другом. Это можно сделать вручную с помощью свойства __proto__ или с использованием метода Object.create(). Это позволяет новому объекту получать доступ к свойствам и методам другого объекта через цепочку прототипов.

Подробнее

Как проверить, является ли объект экземпляром определенного класса (функции-конструктора)?

Как проверить, существует ли определенное свойство в объекте или его прототипе?

Как работают классы под капотом?

Как реализовать функцию сложения в формате add(1)(2)? Как добавить в прототип числа?

Как работает цепочка прототипов?

  • Рейтинг:

    3

  • Сложность:

    6

Для проверки, является ли объект экземпляром определенного класса или функции-конструктора, используется оператор instanceof. Он проверяет, есть ли в цепочке прототипов объекта ссылка на прототип конструктора.

Подробнее
  • Рейтинг:

    3

  • Сложность:

    5

Чтобы проверить, есть ли у объекта определенное свойство, можно использовать оператор in, который проверяет как сам объект, так и его прототипы. Если нужно проверить только наличие свойства непосредственно в объекте (без учета прототипов), используется метод hasOwnProperty().

Подробнее
  • Рейтинг:

    3

  • Сложность:

    6

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

Подробнее
  • Рейтинг:

    2

  • Сложность:

    7

  1. Каррирование:

    function add(a) {
      return function(b) { return a + b; };
    }
  2. Добавление метода в прототип числа:

    Number.prototype.add = function(b) { return this + b; };
Подробнее
  • Рейтинг:

    5

  • Сложность:

    7

Цепочка прототипов — это механизм, по которому JavaScript ищет свойства объекта.
Если свойство не найдено в объекте, поиск продолжается в его прототипе.
Такой поиск продолжается до конца цепочки.
Этот механизм лежит в основе наследования в JavaScript.

Подробнее
  • Рейтинг:

    3

  • Сложность:

    7

  • Рейтинг:

    4

  • Сложность:

    9

  • Рейтинг:

    4

  • Сложность:

    8

  • Рейтинг:

    4

  • Сложность:

    8

  • Рейтинг:

    3

  • Сложность:

    7