console.log(Object.prototype); // -> "{}"
console.log(Object.prototype) が "toString" のようなプロパティやメソッドを出力することを期待していました。
なぜそうしないのですか?
console.log(Object.prototype); // -> "{}"
console.log(Object.prototype) が "toString" のようなプロパティやメソッドを出力することを期待していました。
なぜそうしないのですか?
デフォルトのメソッドは列挙可能としてマークされていないため、表示時に表示されませんObject.prototype
。
この理由は非常に単純です。あるオブジェクトまたはより重要なプロパティを使用して繰り返し表示するfor(var prop in object)
場合、通常、デフォルトのメソッドは表示したくありません。もちろんobj.hasOwnProperty(prop)
、そのようなループでいつでもチェックを使用できますが、デフォルトでは列挙可能なものがないことを知っているため、これを行う必要がないのは非常に快適Object.prototype
です (また、優れたコードでは列挙可能なプロパティも追加されません)。