Что такое методы call(), apply() и bind()? Наверное, это самый часто задаваемый вопрос на собеседовании по программированию. Итак, углубимся в эту тему. 👀

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

Но зачем нужно использовать эти методы?

Предположим, у нас есть родительский объект, который содержит имя и возраст сотрудника, и метод внутри объекта, который отображает информацию о сотруднике. Но тогда нам нужно отображать данные каждого сотрудника индивидуально, что требует создания объекта для каждого сотрудника. Итак, каковы ваши планы по печати информации о каждом сотруднике?

  • будет делать функцию внутри объекта каждый раз, чтобы отображать детали?
  • Или будет вызывать функцию из родительского объекта?

Если вы выберете первый вариант, это будет плохой практикой.😐

Итак, как вы реализуете второй вариант? ??🤔

Итак, эти методы приходят на помощь. Итак, давайте посмотрим на их определения на примерах.

Позвонить()

Метод Call() – это предопределенный метод в JS. Вы можете использовать этот метод для вызова метода родительского объекта в качестве аргумента. Возьмем пример.

Мы также можем передать аргумент в метод call().

применить()

Метод apply() имеет ту же функциональность и предназначение, что и функция call(). Единственное отличие состоит в том, что функция call() при вызове принимает только один аргумент, а метод apply() принимает списки аргументов.

Примечание. Если вы передадите более одного аргумента в метод call(), остальная часть значения аргумента будет напечатана какнеопределенная.

связать()

Итак, вот вам метод bind().

Мы можем использовать метод bind() для привязки независимой функции к любому объекту. Давайте посмотрим пример.

Заключение

Методы call(), apply() и bind() чрезвычайно полезны. Используя эти методы, мы можем сделать наш код более читабельным и реализовать технику повторного использования программирования.