Перейти к содержимому
На этой странице

Методы функций

Все темы React Developer

Для чего используется метод Function.prototype.apply?

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

Основные характеристики:

  1. Задание контекста this:

    • Позволяет определить, каким объектом будет this внутри вызываемой функции.

    • Пример:

      function greet() {
          console.log(this.name);
      }
      const obj = { name: "Alice" };
      greet.apply(obj); // "Alice"
  2. Передача аргументов в виде массива:

    • Позволяет передать аргументы функции в виде массива или массиваоподобного объекта.

    • Пример:

      function sum(a, b) {
          return a + b;
      }
      const args = [2, 3];
      console.log(sum.apply(null, args)); // 5

Метод apply используется для вызова функции с заданным значением this и аргументами, переданными в виде массива, что обеспечивает гибкость в управлении контекстом и передачей параметров.


Для чего используется метод Function.prototype.call?

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

Основные характеристики:

  1. Задание контекста this:

    • Позволяет определить, каким объектом будет this внутри вызываемой функции.

    • Пример:

      function greet() {
          console.log(this.name);
      }
      const obj = { name: "Alice" };
      greet.call(obj); // "Alice"
  2. Передача аргументов по отдельности:

    • Позволяет передать аргументы функции через запятую.

    • Пример:

      function sum(a, b) {
          return a + b;
      }
      console.log(sum.call(null, 2, 3)); // 5

Метод call используется для вызова функции с заданным значением this и аргументами, переданными по отдельности, обеспечивая гибкость в управлении контекстом и передачей параметров.


В чем разница между методами call и apply?

Разница между методами call и apply:

  1. Передача аргументов:

    • call: Аргументы передаются по отдельности.

      function sum(a, b) {
          return a + b;
      }
      console.log(sum.call(null, 2, 3)); // 5
    • apply: Аргументы передаются в виде массива.

      function sum(a, b) {
          return a + b;
      }
      console.log(sum.apply(null, [2, 3])); // 5
  2. Синтаксис:

    • call: func.call(thisArg, arg1, arg2, ...)

    • apply: func.apply(thisArg, argsArray)


Для чего используется метод Function.prototype.bind?

bind — это метод, который создаёт новую функцию с установленным значением this и, возможно, с частично переданными аргументами.

Основные характеристики:

  1. Задание контекста this:

    • Позволяет задать контекст this, который будет использоваться при вызове новой функции.

    • Пример:

      function greet() {
          console.log(this.name);
      }
      const obj = { name: "Alice" };
      const boundGreet = greet.bind(obj);
      boundGreet(); // "Alice"
  2. Частичное применение аргументов:

    • Можно передать часть аргументов функции, которые будут зафиксированы при создании новой функции.

    • Пример:

      function sum(a, b) {
          return a + b;
      }
      const addFive = sum.bind(null, 5);
      console.log(addFive(3)); // 8

Метод bind используется для создания новой функции с фиксированным значением this и/или частично переданными аргументами, обеспечивая гибкость в управлении контекстом и аргументами функции.

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

Смотри записи интервью, узнай, какие вопросы задают и как отвечают кандидаты.

Вопросы и ответы

Не нашли ответ? Напишите мне в чат. Я делаю Шпаргалку и сам отвечаю на сообщения. Расскажите, что не работает или чего вам не хватает. Может, смогу сразу взять это в работу.

Откуда взяты вопросы?

Из реальных собеседований. Основой подборки стал опыт Вадима Новосёлова: он проходил интервью и записывал вопросы. Подробнее о материалах.

Насколько эти вопросы актуальны?

Эти вопросы встречались нам на реальных собеседованиях в 2025 году. Мы регулярно проходим собеседования и пополняем подборку новыми вопросами. Основы профессии и ключевые технологии остаются востребованными годами, а детали конкретных инструментов и версий стоит сверять с текущей документацией.

На какой уровень рассчитана подборка?

Мы проходили собеседования на вакансии уровня Middle+, а иногда и на Senior-позиции. Вопросы из этих интервью вошли в подборку. Направления работы: React-разработчик, Frontend-разработчик. Глубина обсуждения зависит от вакансии: будь готов объяснить основную идею, привести практический пример и разобрать ограничения и альтернативы решения.

Этот вопрос точно будет на моём собеседовании?

Гарантии нет: набор вопросов зависит от компании, задач команды, уровня вакансии и самого интервьюера. Эти вопросы уже встречались на реальных собеседованиях, но на твоём интервью ту же тему могут проверить другой формулировкой, практической задачей или обсуждением твоего опыта. Используй подборку, чтобы разобраться в теме: объясняй идею своими словами, приводи примеры и готовься обсудить ограничения и альтернативы решения. Так будет проще ответить и на знакомый вопрос, и на неожиданные уточнения.