Web/JavaScript/Reference/Global objects/Object/getOwnPropertySymbols
The Object.getOwnPropertySymbols() method returns an array of all symbol properties found directly upon a given object.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
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
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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
Object.getOwnPropertySymbols() by Mozilla Contributors is licensed under CC-BY-SA 2.5.