El símbolo.@@toPrimitive() es una función incorporada en JavaScript que se usa para convertir un objeto de símbolo dado en un valor primitivo .
Sintaxis:
Symbol()[Symbol.toPrimitive](hint);
Aquí Symbol() es el objeto de símbolo cuyo valor primitivo se encuentra.
Parámetros: esta función acepta un parámetro opcional «sugerencia» .
Valor de retorno: esta función devuelve el valor primitivo del objeto de símbolo dado.
Código JavaScript para mostrar el funcionamiento de esta función.
Ejemplo 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>
Producción:
> Symbol(Geeks) > Symbol(Geeks) > Symbol(123) > Symbol()
En el código anterior, se puede ver que el argumento opcional «sugerencia» puede ser un valor, una string, cualquier valor entero, etc.
Ejemplo-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>
Producción:
> function [Symbol.toPrimitive]() { [native code] }
En el código anterior, se puede ver que los paréntesis deben usarse para el argumento de «pista», de lo contrario, da el resultado como el de arriba.
Navegadores compatibles:
- Google Chrome 47 y superior
- Firefox 44
- Borde 15 y superior
- Ópera 34 y superior
- Apple Safari 10 y superior
Referencia: https://devdocs.io/javascript/global_objects/symbol/@@toprimitive
Publicación traducida automáticamente
Artículo escrito por Kanchan_Ray y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA