Tipos de wrapper primitivo JavaScript

Resumo : neste tutorial, você aprenderá sobre os tipos primitivos de wrapper, incluindo Boolean, String e Number.

Introdução aos tipos de wrapper primitivos

JavaScript fornece três tipos de wrapper primitivos: tipos Boolean , Number e String .

Os tipos de wrapper primitivos facilitam o uso de valores primitivos, incluindo booleanos, números e strings.

Veja o exemplo a seguir:

let language = 'JavaScript';
let s = language.substring(4);
console.log(s);  // Script
Linguagem de código:  JavaScript  ( javascript )

Neste exemplo, a variável languagecontém um valor de string primitivo. Não tem nenhum método como substring(). No entanto, o código acima funciona perfeitamente.

Quando você chama um método em uma variável que contém um número, uma string ou um booleano, o JavaScript executa as seguintes etapas nos bastidores:

  • Crie um objeto de um tipo correspondente.
  • Chame um método específico na instância.
  • Exclua a instância imediatamente.

Então o seguinte código

let language = 'JavaScript';
let str = language.substring(4);Linguagem de código:  JavaScript  ( javascript )

é tecnicamente equivalente ao seguinte código:

let language = 'JavaScript';
// behind the scenes of the language.substring(4);
let tmp = new String(language);
str = temp.substring(4);
temp = null;Linguagem de código:  JavaScript  ( javascript )

Tipos de wrapper primitivos versus tipos de referência

Quando você cria um objeto de tipo de referência usando o newoperador, o objeto permanecerá na memória até sair do escopo.

A seguinte variável spermanecerá no heap até sair do escopo:

let s = new String('JavaScript');
console.log(s);Linguagem de código:  JavaScript  ( javascript )

No entanto, um objeto wrapper primitivo criado automaticamente existe apenas para uma linha de código. Veja o exemplo a seguir:

let s = 'JavaScript';
s.language = 'ECMAScript';
console.log(s.language); // undefined
Linguagem de código:  JavaScript  ( javascript )

Neste exemplo, tentamos acessar a languagepropriedade da svariável e recebemos um valor undefinedem vez de 'ECMAScript':

console.log(s.language); // undefinedLinguagem de código:  JavaScript  ( javascript )

A razão é que o código a seguir cria um Stringobjeto e atribui um valor à languagepropriedade.

s.language = 'ECMAScript';Linguagem de código:  JavaScript  ( javascript )

Porém, o objeto String com a languagepropriedade só existe durante a execução desta linha de código.

Não é recomendado criar explicitamente objetos wrapper primitivos como os seguintes:

let n = new Number(10);
let s = new String('JS');
let b = new Boolean(false);
Linguagem de código:  JavaScript  ( javascript )

No entanto, você deve saber quais métodos estão disponíveis para um valor primitivo para manipulá-lo de forma mais eficaz.

Neste tutorial, você aprendeu sobre os tipos primitivos de wrapper JavaScript para booleanos, números e strings.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *