torna alle lezioni

Funzione associata come metodo

importanza: 5

Quale sarà l’output?

function f() {
  alert( this ); // ?
}

let user = {
  g: f.bind(null)
};

user.g();

Risposta: null.

function f() {
  alert( this ); // null
}

let user = {
  g: f.bind(null)
};

user.g();

Il contesto di una funzione associata è fisso. Non esiste alcun modo di cambiarlo successivamente.

Quindi, anche se eseguiamo user.g(), la funzione originale verrà chiamata con this=null.