Symbol in JavaScript a primitive data type

Symbol in JavaScript a primitive data type

·

2 min read

It is a primitive data type along with string, number, boolean, null and undefined. To create a new primitive symbol, you define it with the following syntax.

let mySymbol = Symbol();

You can pass a parameter to Symbol(), and that is used as the symbol description, useful just for debugging purposes.

let mySecondSymbol = Symbol('orange');

They are unique, and every time you invoke Symbol(), you get a new and unique symbol that is guaranteed to be different from all other symbols.

Symbol() === Symbol() // false
Symbol('orange') === Symbol('orange') // false

Even though every symbol gives a unique value we can't view them by logging.

console.log(Symbol()); // Symbol()
console.log(Symbol('orange')); // Symbol(orange)

It won't be enumerated in for...in loops, and are ignored by function such as JSON.stringify(), Object.keys() and Object.getOwnProperty. This makes them ideal for properties that you don't want to be included when serializing an object.

const user = {}; 
const email = Symbol(); 

user.name = 'Rahul'; 
user.age = 16; 
user[email] = '123@r.com'; 

Object.keys(user); 
// [ "name", "age" ]

JSON.stringify(user); 
.. {"name":"Rahul","age":"16"}

Let's say you create a user object as shown above and have an object like, {name: "Rahul", age: 16, Symbol(): "123@r.com"}

What are the ways you can retrieve the value "" from the user object?

Thank you for Reading⚡ the Answer in the comments below.

Did you find this article valuable?

Support Rahul by becoming a sponsor. Any amount is appreciated!