Web/JavaScript/Reference/Global objects/Object/getOwnPropertySymbols

From Get docs


The Object.getOwnPropertySymbols() method returns an array of all symbol properties found directly upon a given object.


Syntax

Object.getOwnPropertySymbols(obj)

Parameters

obj
The object whose symbol properties are to be returned.

Return value

An array of all symbol properties found directly upon the given object.

Description

Similar to Object.getOwnPropertyNames(), you can get all symbol properties of a given object as an array of symbols. Note that Object.getOwnPropertyNames() itself does not contain the symbol properties of an object and only the string properties.

As all objects have no own symbol properties initially, Object.getOwnPropertySymbols() returns an empty array unless you have set symbol properties on your object.

Examples

Using 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)

Specifications

Specification
ECMAScript (ECMA-262)The definition of 'Object.getOwnPropertySymbols' in that specification.

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet Node.js
getOwnPropertySymbols Chrome

Full support 38

Edge

Full support 12

Firefox

Full support 36

IE

No support No

Opera

Full support 25

Safari

Full support 9

WebView Android

Full support 38

Chrome Android

Full support 38

Firefox Android

Full support 36

Opera Android

Full support 25

Safari iOS

Full support 9

Samsung Internet Android

Full support 3.0

nodejs

Full support 0.12

Legend

Full support  
Full support
No support  
No support


See also