Fácil JavaScript

Identificando tipos primitivos

Enunciado

Crie um programa que declare uma variável de cada um dos seguintes tipos: string, number, boolean, null, undefined. Em seguida, use typeof para imprimir o tipo de cada uma no console, no formato nome: tipo.

Requisitos

  • Declare pelo menos uma variável para cada tipo: string, number, boolean, null, undefined.
  • Use typeof para obter o tipo de cada variável.
  • Imprima cada resultado no formato nome: tipo (ex.: nome: string).
  • A saída deve conter exatamente 5 linhas.

Código inicial

// Declare as variáveis e imprima o tipo de cada uma

Saída esperada

nome: string
idade: number
ativo: boolean
telefone: object
endereco: undefined
Ver dica

Lembre-se: typeof null retorna "object", então a saída para telefone será object.

Mostrar solução
// Declaração das variáveis
const nome = "Ana";
const idade = 25;
const ativo = true;
const telefone = null;
let endereco;

// Impressão do tipo de cada uma
console.log(`nome: ${typeof nome}`);
console.log(`idade: ${typeof idade}`);
console.log(`ativo: ${typeof ativo}`);
console.log(`telefone: ${typeof telefone}`);
console.log(`endereco: ${typeof endereco}`);

Passo a passo

  1. Declaramos nome como uma string literal "Ana".
  2. idade recebe o número 25.
  3. ativo é um booleano true.
  4. telefone é inicializado com null, indicando ausência intencional de valor.
  5. endereco é declarado com let sem valor, então fica undefined.
  6. Usamos typeof dentro de template strings para montar a saída no formato pedido.

Por que funciona

O operador typeof retorna uma string com o tipo do operando. Para null, há uma peculiaridade histórica: retorna "object", o que é mantido por compatibilidade. Por isso a saída de telefone é object e não null.

Erros comuns

  • Esquecer de declarar endereco com let e tentar usar typeof endereco sem declaração: gera ReferenceError em modo estrito. Solução: declarar let endereco;.
  • Usar const para endereco sem valor: erro de sintaxe, pois const exige inicialização. Use let.
  • Achar que typeof null retorna "null": na verdade retorna "object".

Outra forma de resolver

Poderia usar um array de objetos e um loop:

const valores = [
  { nome: "nome", valor: "Ana" },
  { nome: "idade", valor: 25 },
  // ...
];
for (const { nome, valor } of valores) {
  console.log(`${nome}: ${typeof valor}`);
}

Útil quando há muitos valores.

Saída esperada

nome: string
idade: number
ativo: boolean
telefone: object
endereco: undefined