概要
クラス属性について調べてみます。
クラス属性はオブジェクトの型情報を表す文字列です。
この属性は文字列として設定されており、取得の方法は限定的です。
オブジェクトからクラス属性を取得するには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]」という文字列が必ず出力されており、その後にオブジェクトのクラス属性が出力されます。