Da trilha de JavaScript Este conceito ainda não saiu como card do dia. ir para o card de hoje

JavaScript Fundamentos Básico

Tipos primitivos

Em JavaScript, os tipos primitivos são os valores mais básicos da linguagem: string, number, boolean, null, undefined, bigint e symbol. Eles são imutáveis e armazenados diretamente na variável, ao contrário dos objetos, que são referências. Entender esses tipos é essencial para evitar comportamentos inesperados, como typeof null retornar "object".

O operador typeof é a forma mais comum de verificar o tipo de um valor. Ele retorna uma string com o nome do tipo, mas tem duas particularidades: typeof null retorna "object" (um bug histórico) e typeof function retorna "function". Já bigint e symbol são tipos primitivos menos usados, mas importantes: bigint para inteiros arbitrariamente grandes e symbol para criar identificadores únicos.

Neste card, você vai explorar cada um desses tipos, como criá-los e como identificá-los com typeof. Também verá como undefined e null representam ausência de valor, mas de formas diferentes: undefined é o valor padrão de variáveis não inicializadas, enquanto null é uma ausência intencional.

Pontos-chave

  • Os tipos primitivos são: string, number, boolean, null, undefined, bigint e symbol.
  • typeof retorna uma string indicando o tipo do valor, exceto para null que retorna "object".
  • undefined significa que uma variável não foi inicializada ou uma propriedade não existe.
  • bigint é criado com o sufixo n ou BigInt() e permite inteiros além do limite de number.
  • symbol cria valores únicos e imutáveis, úteis como chaves de propriedades.
primitivos.js
// Exemplos de tipos primitivos em JavaScript

// string: sequência de caracteres
const nome = "Ana";
console.log(typeof nome); // "string"

// number: inteiros e decimais
const idade = 25;
const altura = 1.68;
console.log(typeof idade); // "number"
console.log(typeof altura); // "number"

// boolean: true ou false
const ativo = true;
console.log(typeof ativo); // "boolean"

// null: ausência intencional de valor
const telefone = null;
console.log(typeof telefone); // "object" (particularidade do JS)

// undefined: variável não inicializada
let endereco;
console.log(typeof endereco); // "undefined"

// bigint: inteiros muito grandes
const grande = 9007199254740991n;
console.log(typeof grande); // "bigint"

// symbol: identificador único
const id = Symbol("id");
console.log(typeof id); // "symbol"

// Comparação: symbol nunca é igual a outro
const id2 = Symbol("id");
console.log(id === id2); // false

Exercícios

  1. 1
    Fácil

    Identificando tipos primitivos

    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.

    Resolver
  2. 2
    Médio

    BigInt e Symbol na prática

    Crie um programa que:

    1. Declare um BigInt muito grande (maior que Number.MAX_SAFE_INTEGER) e imprima seu valor e tipo.
    2. Crie dois Symbol com a mesma descrição e mostre que eles são diferentes.
    3. Use um Symbol como chave de um objeto e acesse o valor correspondente.

    Resolver
  3. 3
    Desafio

    Verificador de tipos primitivos

    Crie uma função tipoPrimitivo(valor) que retorne uma string indicando o tipo primitivo do valor. Ela deve tratar corretamente null (retornar "null" em vez de "object"), bigint e symbol. Para valores não primitivos (objetos, arrays, funções), deve retornar "objeto" ou "funcao" conforme o caso. Depois, teste a função com pelo menos 7 valores diferentes e imprima os resultados no formato valor -> tipo.

    Resolver

Continue estudando