Explicar el tipo de símbolo en TypeScript

En TypeScript , el símbolo es un tipo de datos primitivo. Un tipo de datos primitivo no es un objeto, no posee propiedades ni métodos y no se pueden modificar. El tipo de símbolo es similar a otros tipos como número, string, booleano, etc. Los valores de símbolo se crean mediante el constructor de símbolo.

Sintaxis: La siguiente es la sintaxis para crear un valor de símbolo:

Symbol()  // OR
Symbol("string")

Ejemplo 1: Creación de símbolos

Los símbolos se crean usando el constructor de símbolos directamente o usando además una clave opcional. Creamos un símbolo normal y un símbolo con una tecla opcional «abc».

Javascript

<script>
    // Creating a symbol normally
    let symbol1 = Symbol();
    console.log(symbol1);
      
    // Creating a symbol with an optional key
    let symbol2 = Symbol("abc");
    console.log(symbol2);
</script>

Producción:

Symbol()
Symbol(abc)

Ejemplo 2: cada símbolo es único

Cada símbolo es único. El siguiente código verifica si dos símbolos son iguales pero se devuelve falso cuando comparamos dos símbolos.

Javascript

<script>
    // Creating a symbol
    let symbol1 = Symbol();
      
    // Creating a symbol with an optional key
    let symbol2 = Symbol("abc");
      
    console.log(symbol1 == symbol2);
    console.log(symbol1 === symbol2);
</script>

Producción:

false
false

Ejemplo 3: Símbolos como claves para propiedades de objetos

Como los símbolos son únicos, se pueden utilizar como claves para las propiedades de los objetos. 

Javascript

<script>
    let symbol1 = Symbol();
      
    let obj1 = {
      symbol1: "secret_code",
    };
      
    console.log(obj1.symbol1);
</script>

Producción:

secret_code

Ejemplo 4: símbolos utilizados para declarar miembros de clase o métodos de clase

En este ejemplo, un miembro de clase se declara mediante símbolos. El método devuelve el nombre de la clase. Llamamos a la clase creando un objeto y luego accedemos al método. 

Javascript

<script>
    let symbol1 = Symbol();
      
    class SymbolClass {
      symbol1() {
        return "SymbolClass";
      }
    }
      
    let obj = new SymbolClass();
    let className = obj.symbol1();
    console.log(className);
</script>

Producción:

SymbolClass

Ejemplo 5: Símbolos como literales únicos

En general, los símbolos solo se tratan como un tipo. Para tratar los símbolos como literales únicos, TypeScript tiene un tipo especial llamado «símbolo único». Es un subtipo de Symbol(). El ‘símbolo único’ solo se puede usar con aquellas variables que se declaran constantes o en propiedades de solo lectura. Si queremos hacer referencia a una variable de tipo de símbolo único, debemos usar el tipo de operador. 

Javascript

let symbol1: unique symbol = Symbol();

Producción:

'Symbol' only refers to a type, but is being used 
as a value here. Do you need to change your 
target library?
Try changing the 'lib' compiler option to es2015 or later.

La variable de tipo único debe ser constante. La declaración correcta se muestra a continuación:

declare const symbol1: unique symbol;

Referencia: https://www.typescriptlang.org/docs/handbook/symbols.html

Publicación traducida automáticamente

Artículo escrito por isitapol2002 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 *