Aplicación parcial para inicio de sesión
La tarea es una variante un poco más compleja de Arreglar una función que perdió "this".
El objeto user fue modificado. Ahora, en lugar de dos funciones loginOk/loginFail, tiene una sola función user.login(true/false).
¿Qué deberíamos pasar a askPassword en el código a continuación, para que llame a user.login(true) como ok y user.login(false) como fail?
function askPassword(ok, fail) {
  let password = prompt("Password?", '');
  if (password == "rockstar") ok();
  else fail();
}
let user = {
  name: 'John',
  login(result) {
    alert( this.name + (result ? ' logged in' : ' failed to log in') );
  }
};
askPassword(?, ?); // ?Sus cambios solo deberían modificar el fragmento resaltado.
- 
Utilice una función wrapper (envoltura), de tipo arrow (flecha) para ser conciso: askPassword(() => user.login(true), () => user.login(false));Ahora obtiene userde variables externas y lo ejecuta de la manera normal.
- 
O cree una función parcial desde user.loginque useusercomo contexto y tenga el primer argumento correcto:askPassword(user.login.bind(user, true), user.login.bind(user, false));