Вобщем я сделал две реализации кода, нужен совет от посвященных, плюсы и минусы. В принципе, в целом разницу понимаю, но думаю ревью не помешает.
'use strict';
function logPerson() {
console.log(`Person: ${this.name}, ${this.age}, ${this.job}`)
}
const person1 = {name: 'Михаил', age: 22, job: 'Frontend'}
const person2 = {name: 'Елена', age: 19, job: 'SMM'}
function bind(typeOfPerson, fn) {
return (...args) =>
fn.apply(typeOfPerson, args)
}
bind(person1, logPerson)();
bind(person2, logPerson)();
function logPerson() {
console.log(`Person: ${this.name}, ${this.age}, ${this.job}`)
}
const person1 = {name: 'Михаил', age: 22, job: 'Frontedn'}
const person2 = {name: 'Елена', age: 19, job: 'SMM'}
function bind (person, fn) {
fn.call(person)
}
bind(person1,logPerson);
bind(person2,logPerson);