Skip to content

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)