Tengo un constructor de funciones A
function A(){ this.number = 10; this.show = () => console.log(this.number) }Entonces, estoy creando un objeto con este constructor.
let a = new A(); //a={ // number: 10, // show: () => console.log(this.number) //}Y objeto simple b
let b = { number: 20, show: () => console.log(this.number) }Como resultado, puedo decir que los objetos a y b son sintácticamente iguales a == b, pero ¿por qué
a.show() // gives 10 b.show() // undefinedEntiendo que para b, 'esto' es un objeto global, por eso no está definido en este caso, pero ¿por qué hay un comportamiento diferente para a?