Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Войти

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

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

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: bind, this

Что произойдет с this при использовании bind?

Вопрос проверяет понимание механизма жёсткой привязки контекста функции.

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

Метод bind создаёт новую функцию с жёстко зафиксированным this. Значение контекста больше не зависит от способа вызова. Повторный bind не меняет this. Это удобно для передачи методов как колбэков. При этом исходная функция не изменяется.

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

bind используется, когда нужно гарантировать конкретный контекст выполнения функции.

Как работает bind

При вызове bind:

  1. создаётся новая функция

  2. this навсегда привязывается к переданному объекту

  3. аргументы могут быть частично зафиксированы

const user = {
  name: 'Alex'
}

function showName() {
  return this.name
}

const bound = showName.bind(user)
bound() // 'Alex'

Особенности bind

  1. Невозможность переопределения this
    call и apply больше не влияют на контекст.

  2. Возвращается новая функция
    Оригинальная функция остаётся без изменений.

  3. Подходит для колбэков
    Часто используется в обработчиках событий и таймерах.

Ограничения

  • нельзя использовать для стрелочных функций

  • усложняет отладку при чрезмерном использовании

Вывод

bind фиксирует this навсегда для конкретной функции. Это надёжный способ избежать потери контекста при передаче функций.

Уровень

  • Рейтинг:

    5

  • Сложность:

    6

Навыки

  • JavaScript

    JavaScript

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

#bind

#this

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