JavaScript | symbol.@@toPrimitive() function
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 47 and above
- Firefox 44
- Edge 15 and above
- Opera 34 and above
- Apple Safari 10 and above
Reference: https://devdocs.io/javascript/global_objects/symbol/@@toprimitive
Please Login to comment...