Object.getOwnPropertySymbols()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

O Object.getOwnPropertySymbols() método retorna uma array com todas propriedades de símbolo encontradas diretamente em um determinado objeto dado.

Experimente

const object1 = {};
const a = Symbol("a");
const b = Symbol.for("b");

object1[a] = "localSymbol";
object1[b] = "globalSymbol";

const objectSymbols = Object.getOwnPropertySymbols(object1);

console.log(objectSymbols.length);
// Expected output: 2

Sintaxe

js
Object.getOwnPropertySymbols(obj);

Parâmetro

obj

O objeto pelo qual as propriedades de símbolos são retornas.

Valor retornado

Uma array com todas as propriedades de símbolos encontradas diretamente pelo o objeto dado.

Descrição

Similar do Object.getOwnPropertyNames(), você pode obter todas as propriedades de símbolo de um objeto dado como um array de símbolos. Lembre que o próprio Object.getOwnPropertyNames() não contém as propriedades de símbolo de um objeto e somente as propriedades de string.

Como todos os objetos não possuem símbolos próprios inicialmente, o Object.getOwnPropertySymbols() retorna uma array vazia a menos que você tenha definido as propriedades de símbolo do seu objeto .

Exemplos

Usando getOwnPropertySymbols

js
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); // retorno esperado 2
console.log(objectSymbols); // retorno esperado (2) [Symbol(a), Symbol(b)]
console.log(objectSymbols[0]); // retorno esperado Symbol(a)

Especificações

Specification
ECMAScript® 2025 Language Specification
# sec-object.getownpropertysymbols

Compatibilidade com navegadores

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
getOwnPropertySymbols

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Veja também