¿Por qué es posible hacer referencia a un objeto desde dentro del objeto directamente? Por ejemplo:
var object = { prop1 : "Prop 1", prop2 : "Prop 2", func : _ => console.log(object) } object.func(); //salida {prop1: 'Prop 1', prop2: 'Prop 2', func: ƒ}
Del mismo modo podría hacer:
var object = { prop1 : "Prop 1", prop2 : "Prop 2", func : function() { console.log(this) } } object.func(); Esto dará como resultado el mismo resultado que el anterior. Principalmente estoy tratando de entender por qué es legal hacer referencia al object de nombre de variable desde dentro de su declaración.
Los intentos de acceder a las variables dentro de las funciones no se resuelven hasta que se llama a la función... que será después de que se cree el objeto.