Javascript Primitive Wrapper Tipos | Explicado

Javascript Primitive Wrapper Tipos | Explicado
Sempre que um valor primitivo é lido em um programa, JavaScript cria automaticamente um objeto para o tipo primitivo correspondente conhecido como o tipo de invólucro primitivo. Depois de criar o tipo de invólucro primitivo, o JavaScript chama o método especificado e exclui imediatamente a instância da memória. Dessa maneira, os valores primitivos são considerados leves em comparação com objetos regulares.

JavaScript oferece tipos de invólucro primitivo para o “corda","número","boleano","bigint", e "símbolo”Tipos de dados, facilitando o uso desses valores primitivos.

Este artigo explicou Tipos de invólucro primitivo JavaScript, Mas antes disso, vejamos os tipos de dados primitivos.

Javascript Primitive Data Type

Tipos de dados primitivos são as predefinido ou construídas em Tipos de dados suportados pela linguagem de programação JavaScript. É frequentemente referido como o nível mais baixo de uma implementação de linguagem de computador.

Os tipos de dados primitivos não podem ser um objeto nem os métodos. Além disso, valores primitivos não podem ser modificados, pois são “imutável““. Você pode reatribuir uma variável com um novo valor primitivo, mas não alterar o existente.

JavaScript possui sete tipos de dados primitivos: número, boleano, bigint, corda, símbolo, nulo, e indefinido.

A seção abaixo do ritmo demonstrará os tipos de dados primitivos em detalhes.

String Primitive Data Type

Em JavaScript, o “corda”O tipo de dados primitivo é representado pela sequência de caracteres adicionados ao único "ou citações duplas ”“.

Exemplo

Seja String1 = 'Tipo de dados primitivo';
typeof string1;

Saída

Tipo de dados primitivo

Você pode utilizar o “número”Tipos de dados primitivos para armazenar valores decimais e não decimais em JavaScript.

Exemplo

Seja número 1 = 090078601;
tipo de número1;

Saída

Tipo de dados primitivo bigint

““bigint" e "número”Os dados são bastante semelhantes; No entanto, o bigint permite que você apresente os valores inteiros maiores que (253). Para criar um valor de tipo de dados primitivo BIGINT, “n”É anexado no final do número da seguinte maneira:

Exemplo

deixe BIGINTEGER = 999999999999988872553627N;
typeof biginteger;

Saída

Tipo de dados primitivo booleano

JavaScript “boleano”O tipo de dados primitivo compreende dois valores: verdadeiro ou falso.

Exemplo

booleanval = true;
typeof booleanval;

Saída

Tipo de dados primitivo de símbolo

““símbolo”É um valor de tipo de dados primitivo que pode ser gerado invocando o“Símbolo”Função, que retorna um“exclusivo" valor. A função de símbolo aceita uma descrição da string como um argumento que será impresso quando você recuperar o valor do símbolo.

Exemplo

Seja z = símbolo ("criamos um valor de símbolo");
tipo de z;

Saída

Tipo de dados primitivo indefinido

O "indefinido”O tipo de dados primitivo significa que uma variável é declarada, mas ainda não definida.

Exemplo

Deixe y;
tipo de y;

Saída

Tipo de dados primitivo nulo

““nulo”É um tipo de dados usado para representar“ausente" ou "desconhecido”Valores. O "tipo de”O operador retorna“objeto”Como o tipo de“nulo", mas lembre-se, nulo é um valor primitivo, não um objeto.

Exemplo

Seja x = nulo;
tipo de x;

Saída

Neste ponto, você entendeu quais são os tipos de dados primitivos; Agora, aprenderemos sobre o conceito por trás do acesso a propriedades ou métodos de valores primitivos.

Javascript Primitive Wrapper Class

Os valores do tipo de dados primitivos podem ser manipulados usando a notação de objeto. Para esse fim, o JavaScript definiu classes de objeto correspondentes para cada um dos valores primitivos, exceto para “nulo" e "indefinido”. Essas classes de invólucro primitivas são consideradas “invólucros”Em torno dos tipos de dados primitivos JavaScript.

Outro ponto importante a ser discutido é que as classes de invólucro são utilizadas para armazenar o mesmo valor externamente e internamente; No entanto, as instâncias ou objetos das classes de wrapper permanecerão não primitivos em caso de declaração de objetos explícitos.

Javascript Primitive Wrapper Object

Um javascript Objeto de invólucro primitivo compreende valores primitivos e também fornece métodos e propriedades para manipular os valores.

Por exemplo, um “corda”O valor primitivo é utilizado em um contexto de objeto ao acessar suas propriedades ou métodos relacionados. Nesse caso, o JavaScript gera internamente um primitivo "embrulho”Objeto para esse tipo de invólucro primitivo de string específico. Em seguida, o valor primitivo da string é adicionado no objeto Wrapper String criado, que possui seus métodos e propriedades. Este objeto de wrapper criado automaticamente é excluído depois de invocar o método ou propriedade especificada.

Javascript Primitive Wrapper Objetos também podem ser criados manualmente usando o “novoOperador. Esses objetos de invólucro permanecem na memória até que seu escopo sai. Além disso, os objetos de wrapper primitivos criados manualmente são dos “objeto" tipo.

Javascript Primitive Wrapper Type

O objeto JavaScript Script criado automaticamente é referido como “Tipo de invólucro primitivo”. JavaScript oferece tipos de invólucro primitivo para o “corda","número","boleano","bigint", e "símbolo”Tipos de dados, facilitando o uso desses valores primitivos.

Exemplo: Javascript Primitive Wrapper Type

No exemplo abaixo, o “linguagem”A variável contém“JavaScript”Como seu valor primitivo de string. Esta variável não tem acesso ao “substring ()”Método; No entanto, ele ainda recupera a sub-corda do valor primitivo especificado:

deixe o idioma = 'javascript';
Deixe Str1 = idioma.substring (4);
console.log ('str1 wrapper Type é:' + typeof str1);
console.log (str1);

Saída

O código acima está funcionando perfeitamente, e agora você deve estar se perguntando como o “linguagem”A variável invocou o“substring ()”Método associado à classe String?

A resposta a esta pergunta é que sempre que você chama um método com um valor primitivo; JavaScript cria automaticamente um “objeto”De acordo com o tipo de dados primitivo correspondente,“corda““. Depois disso, chama o método especificado com a ajuda da instância criada e depois exclui a instância imediatamente da memória.

Então, tecnicamente, nosso programa executado é equivalente a este código:

deixe o idioma = 'javascript';
// Quando o idioma.A substring (4) é invocada;
Seja tmp = new string (idioma);
str1 = tmp.substring (4);
console.log (str1);
tmp = nulo;

A execução do programa acima também mostrará a mesma saída:

Agora, vamos verificar a diferença entre Objeto de wrapper primitivo manual e Objeto de invólucro primitivo automático (tipo de invólucro primitivo).

Objeto de wrapper primitivo manual vs objeto de invólucro primitivo automático

Como mencionado anteriormente, o JavaScript permite que você crie objetos de wrapper primitivos usando manualmente o novo operador. Ao contrário dos tipos de invólucros primitivos, os objetos criados manualmente permanecem na memória até que esses objetos saiam do escopo.

Exemplo: Objeto de invólucro primitivo manual vs objeto de invólucro primitivo automático

No exemplo abaixo, criamos um objeto de wrapper primitivo manual chamado “STR1”Usando o“novoOperador e Corda() Construtor de classe Wrapper:

Seja Str1 = new String ('JavaScript');
console.log (typeof str1);
console.log (str1);

Dada a saída significa que criamos com sucesso um “objeto" tendo "Corda”Protótipo que armazenou“JavaScript”Como seu valor primitivo da string:

Considerando que, no caso de objeto de invólucro primitivo criado automaticamente ou tipo de wrapper primitivo, o escopo é restrito a uma única propriedade e método invocados:

Seja STR1 = 'JavaScript';
STR1.idioma = 'es6';
console.log (str1.linguagem);

Aqui, criamos primeiro uma variável “STR1”Com um valor primitivo de string“JavaScript”No exemplo acima. Depois de ler o valor primitivo, o JavaScript gera um novo objeto primitivo de string ou tipo de invólucro primitivo para “STR1““. Em seguida, o “STR1.idioma = 'es6'”Comando tenta acessar a propriedade de idioma do“STR1”String e atribua valor a ele.

O "linguagem”Existe uma propriedade na memória até este ponto. Portanto, a saída retornou “indefinido”Em vez do valor armazenado em“STR1.linguagem”Quando a próxima linha é executada:

Nós compilamos todas as informações essenciais relacionadas ao Tipos de invólucro primitivo e objetos primitivos em JavaScript.

Conclusão

JavaScript oferece tipos de invólucro primitivo para o “corda","número","boleano","bigint", e "símbolo”Tipos de dados, facilitando o uso desses valores primitivos. Os tipos de wrapper primitivos também são chamados de objetos de wrapper primitivos criados automaticamente, pois são criados automaticamente quando o mecanismo JavaScript lê qualquer valor primitivo, e esses objetos são excluídos imediatamente após a invocação do método ou propriedade especificada. Este artigo explicou Tipos de invólucro primitivo JavaScript com a ajuda de exemplos adequados.