Что такое методы call(), apply() и bind()? Наверное, это самый часто задаваемый вопрос на собеседовании по программированию. Итак, углубимся в эту тему. 👀
Но сначала я хочу сообщить вам, что прежде чем углубляться в эту тему, вы должны иметь предварительные знания об основах функций и этого ключевого слова.
Но зачем нужно использовать эти методы?
Предположим, у нас есть родительский объект, который содержит имя и возраст сотрудника, и метод внутри объекта, который отображает информацию о сотруднике. Но тогда нам нужно отображать данные каждого сотрудника индивидуально, что требует создания объекта для каждого сотрудника. Итак, каковы ваши планы по печати информации о каждом сотруднике?
- будет делать функцию внутри объекта каждый раз, чтобы отображать детали?
- Или будет вызывать функцию из родительского объекта?
Если вы выберете первый вариант, это будет плохой практикой.😐
Итак, как вы реализуете второй вариант? ??🤔
Итак, эти методы приходят на помощь. Итак, давайте посмотрим на их определения на примерах.
Позвонить()
Метод Call() – это предопределенный метод в JS. Вы можете использовать этот метод для вызова метода родительского объекта в качестве аргумента. Возьмем пример.
Мы также можем передать аргумент в метод call().
применить()
Метод apply() имеет ту же функциональность и предназначение, что и функция call(). Единственное отличие состоит в том, что функция call() при вызове принимает только один аргумент, а метод apply() принимает списки аргументов.
Примечание. Если вы передадите более одного аргумента в метод call(), остальная часть значения аргумента будет напечатана какнеопределенная.
связать()
Итак, вот вам метод bind().
Мы можем использовать метод bind() для привязки независимой функции к любому объекту. Давайте посмотрим пример.
Заключение
Методы call(), apply() и bind() чрезвычайно полезны. Используя эти методы, мы можем сделать наш код более читабельным и реализовать технику повторного использования программирования.