--- title: Symbol slug: Glossary/Symbol tags: - ECMAScript 2015 - Glossary - JavaScript - Sharing translation_of: Glossary/Symbol ---

Un símbol és un tipus de dades primitiu les instàncies de les quals són úniques i immutables. En alguns llenguatges de programació són també nomenats atoms.

En {{Glossary("JavaScript")}}, Symbol és un dels {{Glossary("Primitive", "valors primitius")}} i el objecte {{jsxref("Symbol")}} és un {{Glossary("Wrapper","contenidor")}} al voltant d'un Symbol primitiu.

Symbol pot tenir una descripció opcional, però per finalitats de depuració.

El tipus Symbol és una nova característica de ECMAScript 2015 i no hi ha equivalent en ECMAScript 5 de Symbol.

Symbol("foo") !== Symbol("foo")
const foo = Symbol()
const bar = Symbol()
typeof foo === "symbol"
typeof bar === "symbol"
let obj = {}
obj[foo] = "foo"
obj[bar] = "bar"
JSON.stringify(obj) // {}
Object.keys(obj) // []
Object.getOwnPropertyNames(obj) // []
Object.getOwnPropertySymbols(obj) // [ foo, bar ]

Aprèn més

Coneixement general