--- title: Object.getOwnPropertySymbols() slug: Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertySymbols tags: - ECMAScript 2015 - JavaScript - Method - Object translation_of: Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertySymbols ---
Object.getOwnPropertySymbols() メソッドは、与えられたオブジェクト上で直接見つかるシンボルプロパティすべての配列を返します。
Object.getOwnPropertySymbols(obj)
obj与えられたオブジェクト上で直接見つかるシンボルプロパティすべての配列です。
{{jsxref("Object.getOwnPropertyNames()")}} と同様、与えられたオブジェクトのすべてのシンボルプロパティをシンボルの配列として取得することができます。 {{jsxref("Object.getOwnPropertyNames()")}} 自体はオブジェクトのシンボルプロパティを含まず、文字列プロパティのみを含むことに注意して下さい。
すべてのオブジェクトが最初に自身のシンボルプロパティを持っているとは限らないので、 Object.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)
| 仕様書 |
|---|
| {{SpecName('ESDraft', '#sec-object.getownpropertysymbols', 'Object.getOwnPropertySymbols')}} |
{{Compat("javascript.builtins.Object.getOwnPropertySymbols")}}