Digamos que tengo este código, con función normal:
let a = { parent: "roger", child: "bear", printName: function() { console.log(`${this.parent} ${this.child}`) } } b = { parent: "float", child: "bear", } a.printName.call(b)La salida es la esperada:
oso flotador
Sin embargo, el mismo código con función anónima no funciona:
let a = { parent: "roger", child: "bear", printName: () => { console.log(`${this.parent} ${this.child}`) } } b = { parent: "float", child: "bear", } a.printName.call(b)Esto resulta en:
indefinido indefinido
Incluso pasar 'esto' a anónimo no parece funcionar:
let a = { parent: "roger", child: "bear", printName: (this) => { console.log(`${this.parent} ${this.child}`) } }Esto da como resultado un error de sintaxis: Token inesperado esto
Preguntas: