旧それなりブログの跡地、画像やスタイルやJSなどが壊れてることがあります。

[JS] constructorで生成元オブジェクトを判別

2008年9月24日

JavaScriptで、
あるオブジェクトのインスタンスから生成元オブジェクトを知ることは出来る?
・・・というのを(イマサラ)思って調べたらハッケソした。

こんな感じに

// Not native object.
var Person = function(name){
this._name = name;
};
Person._name = "Person!";
var p = new Person("kj");
alert(p._name); // -> "kj"
alert(p.constructor._name); // -> "Person!"
// Native object.
var s = "hogehoge";
alert(s.constructor === String); // -> true
alert(s.constructor === Object); // -> false

Windows の IE6 / FireFox2 / Google Chrome で動作確認しました。
IEには無さそうだとドキドキしてたけど、ありました。ひゃっほう!