概要
クラス属性について調べてみます。
クラス属性はオブジェクトの型情報を表す文字列です。
この属性は文字列として設定されており、取得の方法は限定的です。
オブジェクトからクラス属性を取得するにはtoString()メソッドを使います。
実際に簡単なコードを書いてみて動作させてみます。
var test1 = { a: '10', b: '20', get access_a() { return this.a; } } console.log(Object.prototype.toString.call(test1)); var test2 = new Object(); console.log(Object.prototype.toString.call(test2)); var test3 = new Array(); console.log(Object.prototype.toString.call(test3)); var test4 = new Date(); console.log(Object.prototype.toString.call(test4));
上記のコードの実行結果をブラウザの開発ツール(コンソール出力)で確認すると、次のようになります。
[object Object] [object Object] [object Array] [object Date]
出力のルールとしては、先頭部分に「[object]」という文字列が必ず出力されており、その後にオブジェクトのクラス属性が出力されます。