JavaScript | función símbolo.@@toPrimitive()

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *