Tipo de símbolo TypeScript e como usá-lo
O tipo Symbol no TypeScript é um tipo primitivo único e imutável introduzido no ES6. Símbolos são frequentemente usados como chaves de propriedade de objeto para garantir que as propriedades sejam únicas e não substituam umas às outras acidentalmente. Isso é especialmente útil em cenários onde as propriedades de objeto precisam ser usadas como constantes, mas devem ser mantidas únicas e não enumeráveis.
Criando Símbolos
Para criar um Symbol, a função Symbol
é usada. Cada vez que Symbol
é chamado, um novo símbolo exclusivo é criado.
const uniqueSymbol = Symbol('description');
const anotherSymbol = Symbol('description'); // This is a different symbol, even if the description is the same
Usando símbolos como chaves de objeto
Símbolos podem ser usados como chaves para propriedades de objetos. Isso garante que os nomes de propriedades sejam únicos e previne colisões acidentais com outras propriedades.
const mySymbol = Symbol('mySymbol');
const myObject = {
[mySymbol]: 'value'
};
console.log(myObject[mySymbol]); // Outputs: value
Símbolo.for e Símbolo.keyFor
O método Symbol.for
cria ou recupera um símbolo global por uma chave fornecida. Isso pode ser útil para compartilhar símbolos entre diferentes partes de um aplicativo. O método Symbol.keyFor
retorna a chave associada a um símbolo global.
const globalSymbol = Symbol.for('globalSymbol');
const sameGlobalSymbol = Symbol.for('globalSymbol'); // Retrieves the same symbol
console.log(globalSymbol === sameGlobalSymbol); // Outputs: true
const symbolKey = Symbol.keyFor(globalSymbol);
console.log(symbolKey); // Outputs: 'globalSymbol'
Conclusão
O tipo Symbol no TypeScript fornece um mecanismo poderoso para criar chaves de propriedade exclusivas, o que pode ajudar a evitar colisões de nomes de propriedade e garantir um código mais confiável e sustentável. Ao entender e utilizar símbolos, os desenvolvedores podem gerenciar melhor as propriedades do objeto e sua exclusividade em um aplicativo TypeScript.