Categorias do Site

Dicionário JavaScript: Usando Objetos e Maps

Descubra como usar Objetos e Maps em JavaScript para gerenciar pares chave-valor com eficiência.

Quadro amarelo com as letras

Quando se trabalha com JavaScript, pode-se questionar se ele possui um tipo de dicionário embutido como o Python. A resposta curta é não — JavaScript não tem uma estrutura de dicionário dedicada. No entanto, oferece duas alternativas poderosas para lidar com pares chave-valor: Objetos e Maps.

JavaScript Dictionary

Objetos têm sido a principal forma de armazenar dados estruturados em JavaScript, enquanto Maps foram introduzidos no ES6 para oferecer mais flexibilidade e eficiência em casos de uso específicos. Entender quando usar um Objeto versus um Map é crucial para escrever um código JavaScript limpo, otimizado e fácil de manter.

Neste guia, vamos explicar como usar Objetos e Maps, explorar suas diferenças e ajudá-lo a escolher o melhor para suas necessidades.

Objetos

Um objeto é um tipo de dado JavaScript usado para armazenar dados de chave-valor. Se precisarmos armazenar as informações de um usuário, podemos usar um objeto:

const userInfo = { name: 'John Doe', age: 25, address: 'Boulevard avenue' };

Sem objetos ou um tipo de dado chave-valor, teríamos que armazenar cada informação de John Doe separadamente, o que tornaria o aplicativo tedioso de manter. No exemplo de código, você notará que conseguimos armazenar tanto uma string quanto um número na mesma variável. É por isso que os objetos (e os pares chave-valor em geral) são bastante importantes e úteis.

Você pode armazenar qualquer tipo de dado em um objeto JavaScript, até mesmo uma função ou outros objetos:

const userInfo = {
  name: "John Doe",
  age: 25,
  address: "Boulevard avenue",
  printName: function () {
    return this.name;
  },
  favoriteColors: ["Red", "Blue"],
};

Maps

Os Maps do JavaScript fornecem uma maneira única de armazenar dados em pares chave-valor. Cada item é único e mantém a ordem de inserção. Uma vantagem que os Maps têm sobre os objetos é que qualquer tipo de dado pode ser usado tanto como chave quanto como valor:

const userInfo = new Map();

const ageFunc = () => {
  return "age";
};

userInfo.set("name", "John Doe");
userInfo.set(ageFunc(), 25);

console.log(userInfo.get(ageFunc())); // 25

Diferenças chave entre objetos e maps

RecursoObjetosMaps
Tipos de chaveStrings & Símbolos apenasQualquer tipo de dado (e.g., objetos, funções, números)
Ordem de iteraçãoNão garantida (as chaves seguem a ordem de inserção em navegadores modernos, mas implementações antigas diferem)Garantida (as chaves mantêm a ordem de inserção)
PerformanceMais rápido para pequenos conjuntos de dadosOtimizado para adições e exclusões frequentes
Recuperação de tamanhoRequer Object.keys(obj).lengthUsa a propriedade map.size
Herança de protótipoObjetos herdam de Object.prototype, o que pode causar comportamento não intencionalMaps não herdam propriedades de Object.prototype
Verificação de existência de chaveUsa "key" in obj ou obj.hasOwnProperty("key")Usa map.has(key)
SerializaçãoSuporta JSON.stringify()Necessita de conversão manual para um objeto primeiro
UsoMelhor para dados estruturados e estáticos (e.g., respostas de API, perfis de usuário)Melhor para dados dinâmicos e frequentemente atualizados (e.g., cache, tabelas de pesquisa)

Escolhendo o melhor dicionário

Ao escolher a melhor estrutura semelhante a um dicionário para seu caso de uso, a forma dos dados e como você deseja que eles sejam manipulados é fundamental.

  • Objetos são ideais para dados estruturados com chaves fixas onde você tem propriedades predefinidas
  • Maps são melhores para pares chave-valor dinâmicos onde as chaves podem mudar frequentemente ou precisam suportar diferentes tipos de dados

Use objetos quando precisar de dados simples e estruturados com chaves de string. Use maps quando precisar de inserções eficientes, exclusões e chaves complexas.

Conclusão

Enquanto o JavaScript não tem um tipo de dicionário dedicado, Objetos e Maps oferecem soluções robustas para lidar com pares chave-valor. A escolha entre eles depende das suas necessidades específicas:

  • Use Objetos ao lidar com dados estruturados com chaves predefinidas, como respostas de API ou configurações de configuração
  • Use Maps ao trabalhar com pares chave-valor dinâmicos, especialmente se as chaves nem sempre forem strings ou o desempenho for uma preocupação

Entender as forças e fraquezas dos Objetos e Maps no JavaScript ajudará a escrever um código JavaScript mais eficiente e fácil de manter. Seja armazenando preferências do usuário, gerenciando o estado do aplicativo ou implementando um mecanismo de cache, escolher a estrutura certa melhorará o desempenho e a legibilidade do seu aplicativo.

  • Comparando as principais bibliotecas React toast

    Descubra as melhores bibliotecas de toast para React em 2025 e escolha a ideal para seu projeto.

    Descubra as melhores bibliotecas de toast para React em 2025 e escolha a ideal para seu projeto.

    Ler notícia completa
    Mãos inserindo torradas em uma torradeira, sobrepostas por um ícone de átomo azul.
  • IA Agentica: Decisões Autônomas em Empresas

    Empresas adotam IA agentica para decisões autônomas, prometendo eficiência e redução de custos operacionais.

    Empresas adotam IA agentica para decisões autônomas, prometendo eficiência e redução de custos operacionais.

    Ler notícia completa
    Textura de superfície escura com manchas verdes e azuis brilhantes sobre um fundo preto e texto sobre inteligência artificial.
  • TanStack Start ou Next.js: Escolha o melhor framework React

    Comparação entre TanStack Start e Next.js: conheça suas diferenças e escolha o framework React ideal para seu projeto.

    Comparação entre TanStack Start e Next.js: conheça suas diferenças e escolha o framework React ideal para seu projeto.

    Ler notícia completa
    Imagem apresenta dois ícones sobre fundo azul em degradê: à esquerda, um ícone de praia tropical com palmeira; à direita, um ícone preto com a letra N. Texto
  • Guia Completo de Técnicas de Design UX

    O design UX pode ser confuso com tantas tarefas a realizar, mas é essencial acertar nas técnicas de design. Este guia apresenta as técnicas de design mais utilizadas no UX, desde a pesquisa de usuários até a prototipagem e testes. O primeiro passo é entender profundamente seus usuários. Técnicas de pesquisa incluem entrevistas, pesquisas, estudos […]

    Aprenda técnicas essenciais de UX Design para melhorar a experiência do usuário, desde pesquisa até prototipagem.

    Ler notícia completa
    Ícones de paleta de design gráfico em tons de rosa e roxo sobre um fundo rústico e texturizado de cor clara.
  • Inclua pesquisa para um design mais inclusivo

    O design inclusivo não começa em um arquivo do Figma ou em um caderno de esboços. Ele começa bem antes disso — com a compreensão dos usuários, para que você possa criar soluções que realmente funcionem para eles. Esse tipo de percepção não acontece por acaso; é necessário pesquisa intencional e inclusiva. Não se preocupe […]

    Design inclusivo começa com pesquisa inclusiva. Saiba como integrar inclusão no UX desde o início.

    Ler notícia completa
    Prancheta com gráfico de pizza e lista de tarefas, flutuando sobre um fundo roxo e azul ondulado com reflexos de luz.
  • Construção de UI com Google Stitch: Futuro do Frontend?

    O Google Stitch é uma ferramenta de design e desenvolvimento de UI impulsionada por IA que permite gerar designs de UI de qualidade profissional e código-fonte para web e mobile a partir de comandos de texto. O coding por “vibe” envolve o uso de IA para construir aplicações via prompts, sendo eficaz para design. Vamos […]

    Descubra como o Google Stitch pode revolucionar o design de interfaces com IA, gerando códigos e designs responsivos para web e mobile.

    Ler notícia completa
    Logo colorido do Google ao lado de um carretel de madeira com linha preta e agulha, sobre fundo branco.
  • Apple revive skeuomorfismo com Liquid Glass

    Todos estão comentando sobre Liquid Glass, a nova linguagem de design da Apple, revelada no WWDC 2025. A primeira impressão é de um visual brilhante, com camadas translúcidas e refrações brilhantes. No entanto, para quem conhece a história do skeuomorfismo da Apple, sabe que vai além de uma atualização estética. É um retorno ao UI […]

    Apple traz de volta o skeuomorfismo com o design Liquid Glass, repleto de camadas translúcidas e refrações brilhantes.

    Ler notícia completa
    Surfista com prancha à beira-mar ao pôr do sol, com telas flutuantes mostrando relógios mundiais, calendário, lembretes e clima.
  • Como Matthew Pizzi criou um LMS escalável e flexível

    Matthew Pizzi é Diretor de Produto da Contentstack. Ele fundou a Train Simple, adquirida pela Pluralsight em 2016. Agora, lidera a integração de IA e desenvolvimento de LMS na Contentstack. Na conversa, Matthew explica como ajudou a desenvolver a Contentstack Academy, destacando a personalização para diferentes perfis de aprendizagem e a escalabilidade. Construindo uma plataforma […]

    Descubra como Matthew Pizzi desenvolveu o Contentstack Academy, um LMS inovador e flexível, utilizando tecnologia de ponta.

    Ler notícia completa
    Banner profissional com foto de Matthew Pizzi, Diretor de Produto na Contentstack, logotipos de Contentstack e LogRocket, sobre fundo roxo com linhas azuis e rosas.
  • Como criar variações de estilo em temas WordPress

    Os temas de bloco do WordPress oferecem grande flexibilidade, permitindo alterações de estilo e layout diretamente no navegador, sem necessidade de programação. Eles podem incluir padrões de bloco e variações de estilo. As variações de estilo oferecem um ponto de partida para o design, permitindo criar combinações de cores e tipografias, assim como estilos de […]

    Aprenda a criar variações de estilo em temas WordPress para personalizar seu site sem precisar de conhecimentos em programação.

    Ler notícia completa
    Interface de usuário de um tema de site, mostrando opções de estilo com variações de cor e fonte.