Resumen Ejecutivo: Al igual que otros dicen - init
propiedad no es magia en Javascript.
Una historia más larga: los objetos Javascript son meramente almacenes de clave-> valor. Si crea usted mismo un objeto, entonces está casi vacío; solo hereda algunas propiedades del prototipo de su constructor. Esta es una muestra de volcado de Chrome Inspector:
> obj = {}
Object
+-__proto__: Object
|-__defineGetter__: function __defineGetter__() { [native code] }
|-__defineSetter__: function __defineSetter__() { [native code] }
|-__lookupGetter__: function __lookupGetter__() { [native code] }
|-__lookupSetter__: function __lookupSetter__() { [native code] }
|-constructor: function Object() { [native code] }
|-hasOwnProperty: function hasOwnProperty() { [native code] }
|-isPrototypeOf: function isPrototypeOf() { [native code] }
|-propertyIsEnumerable: function propertyIsEnumerable() { [native code] }
|-toLocaleString: function toLocaleString() { [native code] }
|-toString: function toString() { [native code] }
|-valueOf: function valueOf() { [native code] } > obj = {}
- como se puede ver, no hay init
en la lista. Lo más cercano a init
sería la propiedad constructor
, que puede leer sobre, por ejemplo, here.