エグゼクティブ・サマリーでinit
機能について特別なものは何もありません。他の人のようにが言う - init
プロパティは魔法ではありませんJavascript。
長期ストーリー:Javascriptオブジェクトは単にキー値ストレージに過ぎません。オブジェクトをインスタンス化すると、ほとんど空になります。コンストラクタのプロトタイプからいくつかのプロパティを継承するだけです。これは、クロームインスペクタからサンプルダンプです:
> 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 = {}
- あなたが見ることができるように、リストにはinit
はありません。 init
に最も近いのはconstructor
となります。 here。