constructor
は、Object
の方法です。オブジェクトを変更しない限り、すべてのオブジェクトでconstructor
メソッドを見つけることができます。 in
オペレータは、prototype
チェーンを通じて方法を見つけます。だから、hasOwnProperty
を使用して自分のオブジェクトのプロパティをテストすることをお勧めします。
var noCatsAtAll = {};
if ("constructor" in noCatsAtAll)
console.log("Yes, there definitely is a cat called 'constructor'.");
if ('constructor' in Object)
console.log("Yes, there is also a method called constructor");
var noCon = Object.create(null); // create a completetly empty object
console.log('constructor' in noCon); // false
function hasConstructorToo() {}
console.log('constructor' in hasConstructorToo) // true
console.log('constructor' in []); // true
http://jsfiddle.net/Xsb3E/3 `
非常に素晴らしい解体。 –