Object.getOwnPropertySymbols()

この記事は翻訳が完了していません。 この記事の翻訳にご協力ください

概要

引数で与えられたオブジェクト上で直接見つかったすべての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 2015 (6th Edition, ECMA-262)
Object.getOwnPropertySymbols の定義
標準 Initial definition.

ブラウザ実装状況

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
getOwnPropertySymbolsChrome 完全対応 38Edge 完全対応 12Firefox 完全対応 36IE 未対応 なしOpera 完全対応 25Safari 完全対応 9WebView Android 完全対応 38Chrome Android 完全対応 38Firefox Android 完全対応 36Opera Android 完全対応 25Safari iOS 完全対応 9Samsung Internet Android 完全対応 3.0nodejs 完全対応 0.12

凡例

完全対応  
完全対応
未対応  
未対応

関連情報