This examples
Binding args example
bind method with arguments
function bind(fn, context) {
return function() {
fn.apply(context, [...arguments]);
}
}
Question
What is logged to the console?
// use the bind previous function code
const person = {
name: 'Vishwas'
}
function sayMyName (lastname) {
console.log(`My name is ${this.name} ${lastname}`);
}
const boundFn = bind(sayMyName, person);
boundFn('Batman');
Answer
Line 6 : 'My name is Vishwas Batman'
Explicit binding example
Question
What is logged to the console?
const person = {
name: 'Vishwas'
}
function sayMyName () {
console.log(`My name is ${this.name}`);
}
const sayMyNameVishwas = sayMyName.bind(person)
sayMyNameVishwas ()
Answer
Line 6 : My name is Vishwas (Explicit binding)
Implicit binding example
Question
What is logged to the console?
const person = {
name: 'Vishwas',
sayMyName () {
console.log(`My name is ${this.name}`);
},
superHero: {
name: 'Batman',
sayMyName () {
console.log(`My name is ${this.name}`);
}
}
}
person.superHero.sayMyName();
Answer
Line 4: Batman (implicit binding)