A symbol is a data type that represents unique, unforgeable identifiers. They are sometimes called atoms.

Because a symbol is unique and unforgeable, you can only read a property value associated with a symbol if you have a reference to the original identifier.

In JavaScript, symbol is one of the primitive types and can be created using the Symbol() factory method that returns a different symbol each time. They can be used as keys for objects which can never accidentally collide with other properties.

JavaScript also defines two other categories of symbols: well-known symbols and registered symbols. Read the Symbol reference for more information.

See also