Skip to content
Related Articles

Related Articles

Improve Article

JavaScript | symbol.@@toPrimitive() function

  • Last Updated : 09 May, 2019
Geek Week

The symbol.@@toPrimitive() is an inbuilt function in JavaScript which is used to converts a given symbol object to a primitive value.

Syntax:

Symbol()[Symbol.toPrimitive](hint);

Here Symbol() is the symbol object whose primitive value is to be found.

Parameters: This function accepts an optional parameter “hint”.

Return value: This function returns the primitive value of the given symbol object.



JavaScript code to show the working of this function.
Example-1:




<script>
    // Some symbol objects are created
    const symbol1 = Symbol('Geeks');
    const symbol2 = Symbol("Geeks");
    const symbol3 = Symbol(123);
    const symbol4 = Symbol();
  
    // Calling the symbol.@@toPrimitive() function
    var result1 = symbol1[Symbol.toPrimitive]("Value");
    var result2 = symbol2[Symbol.toPrimitive]("String");
    var result3 = symbol3[Symbol.toPrimitive](789);
    var result4 = symbol4[Symbol.toPrimitive]();
  
    // Getting the primitive value 
    console.log(result1);
    console.log(result2);
    console.log(result3);
    console.log(result4);
</script>

Output:

> Symbol(Geeks)
> Symbol(Geeks)
> Symbol(123)
> Symbol()

In the above code, it can be seen that the optional argument “hint” can be value, string, any integer value etc.

Example-2:




<script>
    // a symbol object is created
    const symbol = Symbol('gfg');
  
    // Calling the symbol.@@toPrimitive() function
    var result = symbol[Symbol.toPrimitive];
  
    // Getting the primitive value 
    console.log(result);
</script>

Output:

> function [Symbol.toPrimitive]() { [native code] }

In the above code, it can be seen that the parentheses should be used for “hint” argument otherwise it gives the result like above output.

Supported Browsers:

  • Google Chrome
  • Firefox 44
  • Edge
  • Opera
  • Apple Safari

Reference: https://devdocs.io/javascript/global_objects/symbol/@@toprimitive

Hey geek! The constant emerging technologies in the world of web development always keeps the excitement for this subject through the roof. But before you tackle the big projects, we suggest you start by learning the basics. Kickstart your web development journey by learning JS concepts with our JavaScript Course. Now at it’s lowest price ever!




My Personal Notes arrow_drop_up
Recommended Articles
Page :