Why is it possible to reference an object from within the object directly? For example:
var object = {
prop1 : "Prop 1",
prop2 : "Prop 2",
func : _ => console.log(object)
}
object.func();
//output {prop1: 'Prop 1', prop2: 'Prop 2', func: ƒ}
Similarly I could do:
var object = {
prop1 : "Prop 1",
prop2 : "Prop 2",
func : function() { console.log(this) }
}
object.func();
This will result in the same output as above. I am mainly trying to understand why it is legal to reference the variable name object
from inside its declaration.