Función enlazada como método
importancia: 5
¿Cuál será el resultado?
function f() {
alert( this ); // ?
}
let user = {
g: f.bind(null)
};
user.g();
Respuesta: null
.
function f() {
alert( this ); // null
}
let user = {
g: f.bind(null)
};
user.g();
El contexto de una función enlazada es fijo. Simplemente no hay forma de cambiarlo más.
Entonces, incluso mientras ejecutamos user.g()
, la función original se llama con this = null
.