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
typeofpara 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
- Declaramos
nomecomo uma string literal"Ana". idaderecebe o número25.ativoé um booleanotrue.telefoneé inicializado comnull, indicando ausência intencional de valor.enderecoé declarado comletsem valor, então ficaundefined.- Usamos
typeofdentro 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
enderecocomlete tentar usartypeof enderecosem declaração: geraReferenceErrorem modo estrito. Solução: declararlet endereco;. - Usar
constparaenderecosem valor: erro de sintaxe, poisconstexige inicialização. Uselet. - Achar que
typeof nullretorna"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