それなりブログ

とあるWebエンジニアのそれなりのブログ、JavaScript/Node.js/Python/PHP/ゲーム作成 など

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

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には無さそうだとドキドキしてたけど、ありました。ひゃっほう!


コメントを残す

メールアドレスが公開されることはありません。

Categories

Archives