この記事は編集レビューを必要としています。ぜひご協力ください。
この翻訳は不完全です。英語から この記事を翻訳 してください。
これは Harmony(ECMAScript 6) 提案の一部であり、実験段階の技術です。
この技術の仕様は安定していません。ブラウザ互換性の一覧表を確認してください。またこれらの構文や動作は、仕様変更などにより、新しいバージョンのブラウザでは変更される可能性があるという点に注意してください。
概要
引数で与えられたオブジェクト上で直接見つかったすべてのsymbolプロパティの配列を返します。
構文
Object.getOwnPropertySymbols(obj)
引数
obj- symbolプロパティが返されるオブジェクト
説明
Object.getOwnPropertyNames()に似て、シンボルの配列として与えられたオブジェクトのすべてのシンボルプロパティを取得することができます。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)
仕様
| 仕様 | ステータス | コメント |
|---|---|---|
| ECMAScript 6 (ECMA-262) The definition of 'Object.getOwnPropertySymbols' in that specification. |
勧告候補 | Initial definition. |
ブラウザ実装状況
| 機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| 基本サポート | (有) | 36.0 (36.0) | 未サポート | (有) | 未サポート |
| 機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| 基本サポート | (有) | (有) | 36.0 (36.0) | 未サポート | 未サポート | 未サポート |