JavaScript Symbol Reference

JavaScript symbol is a data type of primitive data type. The Symbol() function returns the symbol value type. The value returned from Symbol() is unique.
Syntax:
[Symbol.peoperty](string)
Example: JavaScript code to show the working of this function.
Javascript
| // Creating some arrays const Array1 = [1, 2, 3]; const Array2 = [4, 5, 6];  // Calling concat() function let Array3 = Array1.concat(Array2);  // Printing the concatenated array console.log(Array3);  // Calling Symbol.isConcatSpreadable symbol Array2[Symbol.isConcatSpreadable] = false; Array3 = Array1.concat(Array2);  // Printing the concatenated array // after calling of Symbol.isConcatSpreadable symbol console.log(Array3); | 
Output:
Array [1, 2, 3, 4, 5, 6] Array [1, 2, 3, Array [4, 5, 6]]
The complete list of JavaScript Symbol is listed below:
JavaScript Symbol Constructor: In JavaScript, a constructor gets called when an object is created.
| Constructor | Description | Example | 
|---|---|---|
| Symbol() | Used to create a symbol object | 
JavaScript Symbol Properties: A JavaScript property is a member of an object that associates a key with a value.
- Static Property: A static property is a property that has the same value for the entire class.
| Properties | Description | Example | 
|---|---|---|
| asyncIterator | It sets an object as async iterable | |
| hasInstance | Determine if a given constructor object recognizes the object as its instance. | |
| isConcatSpreadable | Given object should be flattened to its array elements while using the Array.prototype.concat() method. | |
| iterator | It makes an element easier to use in for..of loop | |
| match | It identifies matching of a Regular Expression to a string | |
| matchAll | It returns Regular Expression that matches the String | |
| replace | Replace the matched substring of a string. | |
| search | Returns the index within a string that matches the regular expression. | |
| species | It is used to create a derived object from a function-valued property | |
| split | Specify the method that splits a string at the indices that match a regular expression. | |
| toStringTag | Creation of the default string description of an object. | |
| unscopables | Specify an object value of whose own and inherited property names are excluded from the environment bindings. | 
- Instance Properties: An instance property is a property that has a new copy for every new instance of the class.
| Properties | Description | Example | 
|---|---|---|
| constructor | Return the string constructor function for the object. | |
| description | Return the optional description of the specified symbol objects. | 
JavaScript Symbol Methods: JavaScript methods are actions that can be performed on objects. There are two types of Symbol methods in JavaScript.
- Static Method: If the method is called using the symbol class itself then it is called a static method.
| Methods | Description | Example | 
|---|---|---|
| for() | The Symbol.for() is used to search for the given symbol | |
| keyFor() | This key is retrieved from the global symbol registry. | 
- Instance Method: If the method is called on an instance of a Symbol then it is called an instance method.
| Methods | Description | Example | 
|---|---|---|
| toString() | convert the specified symbol object into the string. | |
| valueOf() | Return the primitive value of a given symbol object. | |
| @@toPrimitive() | Convert a given symbol object to a primitive value. | 
 
				 
					


