Задать вопрос
@fastwalkerrr

Зачем тут используется apply?

function bind(context, fn){
  return function(...args){
    fn.apply(context, args)
  }
}
function logPerson(){
  console.log(Person ${this.name}, ${this.age}, ${this.job})
}
const Person1 = {name:"Mikhail", age:39, job:'driver'}

bind(Person1, logPerson)()
  • Вопрос задан
  • 194 просмотра
Подписаться 2 Простой 2 комментария
Решения вопроса 1
Ну смотри logPerson функция, к которой привязывается контекст посредством .apply, чтобы this, скажем так ссылался на объект Person1(Кстати по договоренности, с большой буквы называются классы, это так для справки).

Конкретно в этом примере, можно было в функцию передать Person1
function logPerson(person) {
  console.log(Person ${person.name}, ${person.age}, ${person.job})
}


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

но в целом, функция bind является так скажем узлом, в котором callback function привязывается к контексту (объекту). Не похоже на prod реализацию, просто тренировочный пример возможно
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы