O tipo primitivo do símbolo JavaScript é criado e pode ser compartilhado globalmente. Além disso, também pode ser usado para definir as propriedades ocultas de um objeto. Também existem alguns símbolos JavaScript conhecidos que contêm o comportamento comum do JavaScript.
Este artigo vai explicar Javascript Symbol Tipo primitivo com a ajuda de exemplos adequados. Então vamos começar!
Como criar um tipo primitivo de símbolo em javascript
O global “Símbolo()”A função é utilizada para criar um novo símbolo JavaScript da seguinte maneira:
deixe regid = símbolo ();Aqui, "Regid”É um novo tipo de símbolo JavaScript.
Você também pode adicionar a descrição do símbolo dentro dos parênteses “()”Da função Symbol (). Esta descrição é considerada útil para fins de depuração e também torna os símbolos mais descritivos:
Deixe Regid = símbolo ('ID do registro');A saída do código fornecido exibirá o tipo primitivo de “Regid”E sua descrição:
Exemplo: como criar um tipo primitivo de símbolo em javascript
No exemplo abaixo, criaremos dois símbolos chamados “nome" e "idade”E aprova suas descrições como um argumento para o“Símbolo()”Função global:
Deixe o nome = símbolo ('Nome do funcionário'),A execução do exemplo acima mencionado mostra a seguinte saída:
Agora, usaremos o JavaScript “tipo deOperador para determinar se “nome" e "idade”As variáveis são criadas como um símbolo ou não:
console.log (nome do nome);Como você pode ver na saída, o “tipo deO operador retornou “símbolo”Como o tipo de variáveis especificadas:
Lembre -se de que os símbolos são criados apenas com a ajuda do “Símbolo()”Função global. Para o mesmo propósito, usando o “novo”O operador apresentará um erro, pois os símbolos são valores primitivos:
Deixe Regid = new Symbol ();““Regid”O símbolo não será criado e o seguinte“TypeError" será mostrado:
A seção anterior forneceu o método para criar símbolos como valores de tipo primitivo. Agora, seguiremos em frente e discutiremos como você pode compartilhar símbolos em JavaScript.
Como compartilhar um tipo primitivo de símbolo em javascript
O "Registro de símbolos globais”Suportado pelo ES6 permite que você compartilhe o símbolo criado globalmente, utilizando o“Símbolo.para()”Método em vez de usar o“Símbolo()”Função.
Por exemplo, estamos criando um “Regid”Símbolo com uma descrição usando“Símbolo.para()”Método:
Deixe Regid = símbolo.para ('regid');Quando o "Símbolo.para()”O método é executado, ele procura o“RegidChave no Registro de Símbolos Globais; Se o “Regid”Símbolo já existe no registro, o“Símbolo.para()”Método o retornará. Em outro caso, um novo “Regid”O símbolo será criado e adicionado ao Registro de Símbolos Globais.
Agora, invocando o “Símbolo.para()Método enquanto passava “Regid”A chave como argumento retornará o existente“Regid”Símbolo contido no Registro de Símbolos Globais:
Deixe StudentId = Símbolo.para ('regid');A saída mostra “verdadeiro”Para a comparação estrita entre“Regid" e "Identidade estudantil”Porque ambos são iguais em termos de tipo e chaves adicionais:
Para a verificação da chave associada ao “Identidade estudantil”, Vamos executar o “Keyfor ()”Método e passe o“Identidade estudantil”Como argumento:
console.log (símbolo.keyfor (StudentId));O "keyfor ()”O método retornará“Regid”Como a chave do símbolo do StudentID:
Se você está procurando um símbolo que não seja adicionado no registro de símbolos globais, então o ““keyfor ()”O método retornará“indefinido”Valor para o valor especificado:
Let FuncionárioID = Symbol ('Funcionário');Aqui o "ID do Empregado”O símbolo não existe no Registro de Símbolos Globais, porque é criado usando o“Símbolo()" em vez de "Símbolo.para()”Método, e quando o“Símbolo.para()”O método procura no Registro de Símbolos Globais, retornou“indefinido”:
Você viu que criar e compartilhar valores primitivos de símbolo é bem direto. A seção a seguir demonstrará como você pode usar esses símbolos em seu código JavaScript.
Como usar símbolos para criar propriedades ocultas de um objeto em javascript
O Valor Primitivo do Símbolo JavaScript permite que você crie escondido propriedades de um objeto. Para esse fim, você pode criar um “símbolo”E utilizá -lo como a chave de propriedade de um objeto. A propriedade criada será ignorada pelo para… in loop, e outro script não seria capaz de acessá -lo diretamente porque o “símbolo”Não está incluído em outros scripts. Dessa maneira, os símbolos são considerados ideais para ocultar propriedades do objeto.
Exemplo: como usar símbolos para criar propriedades ocultas de um objeto em javascript
Primeiro de tudo, criaremos um “Articlestatus”Objeto que compreende os três símbolos a seguir como suas propriedades ocultas:
Deixe articlestatus =Na próxima etapa, adicionaremos outro símbolo chamado “meu status”:
deixe mystatus = símbolo ('mystatus');Aí vem a parte emocionante, no “tarefa“Objeto, adicionaremos duas propriedades, uma é“descrição,"E o outro é" [meu status]”. “[meu status]”É uma propriedade calculada do objeto de tarefas, pois é derivado do“meu status”Símbolo e seu valor compreende o“Concluído”Propriedade oculta do“Articlestatus”Objeto:
Deixe a tarefa =Saída
A saída acima mencionada significa que os símbolos funcionam perfeitamente para criar propriedades ocultas que só podem ser acessadas com seus objetos associados.
Símbolos conhecidos em JavaScript
O ES6 suporta muitos símbolos predefinidos que contêm o comportamento comum de JavaScript, conhecido como “bem conhecido”Símbolos. Esses símbolos conhecidos representam a propriedade estática do “Símbolo”Objeto.
Vamos conferir os símbolos mais conhecidos de JavaScript.
Símbolo.Hasinstance em JavaScript
Símbolo.hasinstance é um símbolo usado para determinar se o objeto construtor identifica o objeto especificado como sua instância ou não.
Sintaxe do símbolo.Hasinstance em JavaScript
[Símbolo.hasinstance] (objeto)Aqui o "Símbolo.hasinstance”Símbolo aceita um“objeto”Como argumento.
Exemplo: Símbolo.Hasinstance em JavaScript
Normalmente, quando uma instância do operador é usada como “Instância do objeto do tipo“, JavaScript invoca o“Símbolo.hasinstance”Símbolo. Então, ele verifica se o “objeto”É uma instância do outro especificado“tipo“Objeto ou não.
No exemplo seguinte, a matriz “[]”Não é uma instância do“Livro”Classe, então a“instancia de”O operador retornará“falso”Como saída:
livro escolarSaída
Você pode adicionar o “Símbolo.hasinstance“Símbolo para definir a matriz“[]"Como uma instância do"Livro" Aula:
livro escolarSaída
Portanto, o “instancia deO operador retornou “verdadeiro”Depois de executar a verificação especificada na matriz“[]”.
Símbolo.ISCONCATSPREGADA EM JAVASCRIPT
O Símbolo.ISCONCATSPREATABLE O símbolo retorna um valor booleano que determina se um objeto especificado é adicionado individualmente ao resultado do “concat ()”Função ou não.
Sintaxe do símbolo.ISCONCATSPREGADA EM JAVASCRIPT
[Símbolo.ISCONCATSPREATABLE]: ValorAqui, "valor”É usado para definir o“boleano" valor de Símbolo.ISCONCATSPREATABLE símbolo, onde “verdadeiro”Permite que o símbolo adicione individualmente os elementos do objeto e“falso”Vai concatenar o objeto especificado como um todo.
Exemplo: Símbolo.ISCONCATSPREGADA EM JAVASCRIPT
Em primeiro lugar, criaremos um “obj1”JavaScript, que possui as seguintes propriedades:
Seja obj1 =Na próxima etapa, vamos concatenar “obj1" com ['Ensino'] Array usando o “concat ()”Função:
Deixe Info = ['Ensino'].concat (obj1);A função concat () não espalhará os elementos individuais de “obj1”Enquanto concorda com isso com ['Ensino'] variedade:
Se você quiser adicionar individualmente os elementos de “obj1”Para a matriz, você deve adicionar o Símbolo.ISCONCATSPREATABLE Símbolo como uma propriedade para “obj1”E defina seu valor como“verdadeiro”:
Seja obj1 =Confira a saída abaixo do ritmo; o "obj1”Os elementos são adicionados individualmente no resultante“informações" variedade:
Nós compilamos todas as informações essenciais relacionadas ao tipo de símbolo JavaScript.
Conclusão
Usando o Símbolo() Função global, você pode criar um tipo primitivo de símbolo JavaScript que contém um valor único, enquanto o Símbolo.para() O método permite criar um símbolo que possa ser compartilhado globalmente. Javascript Symbol Tipo primitivo é usado principalmente para definir as propriedades ocultas de um objeto. Este artigo explicou Javascript Symbol Tipo primitivo com a ajuda de exemplos adequados.