JavaScript

Object.getOwnPropertySymbols()メソッド

 編集:2022.07.28 by T.A.

与えられたオブジェクト上で直接見つかるシンボル プロパティすべての配列を返します。

Object.getOwnPropertySymbols(obj)
obj シンボル プロパティが返されるオブジェクトです。
戻り値

与えられたオブジェクト上で直接見つかるシンボル プロパティすべての配列です。

解説

Object.getOwnPropertyNames() と同様、与えられたオブジェクトのすべてのシンボル プロパティをシンボルの配列として取得することができます。Object.getOwnPropertyNames() 自体はオブジェクトのシンボル プロパティを含まず、文字列プロパティのみを含むことに注意して下さい。

すべてのオブジェクトが最初に自身のシンボル プロパティを持っているとは限らないので、 Object.getOwnPropertySymbols() は、オブジェクトにシンボル プロパティを設定しない限りは空の配列を返します。

getOwnPropertySymbols の使用
//コンソールにて
var obj = {};
var a = Symbol('a');
var b = Symbol.for('b');
obj[a] = 'localSymbol';
obj[b] = 'globalSymbol';

var objectSymbols = Object.getOwnPropertySymbols(obj);
console.log(objectSymbols.length);	//=2
console.log(objectSymbols);	//=[Symbol(a), Symbol(b)]
console.log(objectSymbols[0]);	//=Symbol(a)


テスト