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