Object.getOwnPropertySymbols()
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 Language Specification # sec-object.getownpropertysymbols |
Browser compatibility
Report problems with this compatibility data on GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
getOwnPropertySymbols | ChromeFull support38 | EdgeFull support12 | FirefoxFull support36 | Internet ExplorerNo supportNo | OperaFull support25 | SafariFull support9 | WebView AndroidFull support38 | Chrome AndroidFull support38 | Firefox for AndroidFull support36 | Opera AndroidFull support25 | Safari on iOSFull support9 | Samsung InternetFull support3.0 | DenoFull support1.0 | Node.jsFull support0.12.0 |
Legend
- Full support
- Full support
- No support
- No support
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.