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,bigintesymbol. typeofretorna uma string indicando o tipo do valor, exceto paranullque retorna"object".undefinedsignifica que uma variável não foi inicializada ou uma propriedade não existe.biginté criado com o sufixonouBigInt()e permite inteiros além do limite denumber.symbolcria valores únicos e imutáveis, úteis como chaves de propriedades.
// 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