Symbol é um tipo de dados em JS. Normalmente é usado para criar chaves exclusivas e chaves de objetos ocultos em Javascript.
registro de símbolos globais: O registro de símbolos globais é um espaço onde os símbolos criados usando Symbol.for são armazenados.
sintaxe
No exemplo abaixo, "john" é um descritor e key_one e key_two são símbolos.
const key_one = Symbol("john"); //local symbol const key_two = Symbol.for("john"); //global symbol console.log(typeof key_one) // symbol console.log(typeof key_two); //symbol
Como eu disse anteriormente, cada símbolo é único, mesmo que o descritor seja o mesmo nos símbolos locais. Vamos validar.
aplicativo
const key_one = Symbol("john"); const key_two = Symbol("john"); key_one == key_two // false key_one === key_two //false
const key_one = Symbol.for("foo"); const key_two = Symbol.for("foo"); console.log(key_one === key_two); //true
aplicativo
const zero = Symbol("0"); const temp = { 0:"zero", 1:"one", [zero]:"zero", 1.1:"one one", } const keys = Object.keys(temp); //["0","1","1.1"] console.log(temp[1.1]) // one one console.log(Object.getOwnPropertySymbols(temp)) // [Symbol(0)]
Usar Symbol.keyFor(symbol) pode obter um descritor de símbolos globais
const key_one = Symbol.for("john") Symbol.keyFor(key_one) // "john" typeof Symbol.keyFor(key_one) //string
Por favor, me apoie em dev.to e LinkedIn?. TI?
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3