Mapa vs objeto em javascript

Mapa vs objeto em javascript
““Mapa" e "Objeto”São duas estruturas de dados comuns em JavaScript usado para armazenar pares de valor-chave. Um mapa é utilizado quando você precisa de uma estrutura de dados que possa armazenar qualquer tipo de dados como chave ou valor e precisa de uma coleção ordenada de pares de valor-chave. Enquanto o objeto é usado quando você só precisa armazenar teclas de string.

Este post explicará a diferença entre mapa e objeto em javascript.

Como definir um objeto em JavaScript?

Em JavaScript, um objeto é uma coleção de propriedades, cada uma com um par de valor-chave. O "chave" é o "nome", E um"valor"É o" valor "contra a chave. Objetos podem representar objetos do mundo real, como um carro, uma pessoa ou uma conta bancária. Eles também podem representar objetos mais abstratos, como um ponto matemático no espaço, uma cor ou uma data.

Sintaxe

Um objeto pode ser criado usando a notação de objeto literal suportes ou o construtor de objeto. Usando a notação literal ou os colchetes, use a sintaxe abaixo:

objeto const =
valor chave,
valor chave

Criando um objeto usando o construtor de objeto ou o “novoPalavra -chave, use a seguinte sintaxe:

const object = new Object ();
objeto.chave = valor;

Observação: Lembre -se das chaves ou nomes das propriedades do objeto, devem ser uma string.

Exemplo 1: Crie um objeto usando a notação literal em JavaScript

No exemplo a seguir, criaremos um objeto chamado “StdObject”Usando notação literal ou colchetes:

var stdObject =
Nome: 'John',
Idade: 18,
Rollno: 25,
Padrão: 9

Imprima o objeto no console:

console.log (stdObject);

Saída

Exemplo 2: Crie um objeto usando o Construtor de Objeto em JavaScript

Aqui, criaremos um objeto usando o construtor de objeto utilizando o “novoPalavra -chave:

const stdObject = new Object ();

Agora, adicione as propriedades (valor-chave) dos objetos usando o ponto (.) notação:

StdObject.nome = 'jodan';
StdObject.idade = 19;
StdObject.rollno = 15;
StdObject.padrão = 10;

Por fim, exiba o objeto no console usando o “console.registro()”Método:

console.log (stdObject);

Saída

Como definir mapa em javascript?

Em JavaScript, um “Mapa”É uma estrutura de dados que mantém pares de valor-chave semelhante a um objeto. Ele permite que você associe dados às chaves e recupere os dados posteriormente usando as chaves. Mapas podem ser utilizados para implementar dicionários, tabelas de hash e outras estruturas de dados que mapeiam as teclas para valores.

Sintaxe

Para inicializar um mapa, use a seguinte sintaxe:

const map = novo mapa ([
['valor chave'],
['valor chave']
]);

Você também pode criar um mapa usando o construtor de mapa ou usando o novo operador e definir valores utilizando o “definir()”Método:

const map = new map ();
mapa.set ('key', 'value');

Exemplo: Crie um mapa em JavaScript

No exemplo dado, criaremos um mapa usando ambas as sintaxe.

Crie um mapa usando o método de inicialização. Aqui, definiremos as teclas como uma string enquanto você pode definir teclas em um mapa em qualquer tipo:

const mapstd = newmap ([
['Nome', 'John'],
['Age', 18],
['rollno', 25],
['padrão', 9],
]);

Ou crie um mapa chamando o construtor do mapa ou a nova palavra -chave/operador:

const mapstd = new map ();

Defina valores no mapa em um par de valores-chave usando o “definir()”Método:

Mapstd.set ('nome', 'John');
Mapstd.set ('idade', 18);
Mapstd.set ('rollno', 25);
Mapstd.set ('padrão', 9);

Para imprimir o mapa no console, use o “entradas ()”Método com o“para de" laço:

para (const [chave, valor] de mapstd.entradas ())
console.log ('$ key: $ value');

Ou para acessar o valor de qualquer chave/propriedade específica, use o “pegar()”Método:

console.log ("o rollno de" + mapstd.get ('nome') + "é" + mapstd.get ('rollno'));

A saída indica todas as propriedades do mapa e o valor da propriedade específica:

Mapa vs objeto em javascript

A principal diferença entre o mapa e o objeto é a seguinte:

Mapa Objeto
Foi introduzido no ECMAScript 6 em 2015. JavaScript introduziu o tipo de dados do objeto em sua primeira versão (ECMAScript 1) lançada em 1997.
O mapa permite chaves de qualquer tipo de dados (e.g., objetos, funções, números, etc.). As chaves do objeto devem ser strings.
As propriedades de um mapa podem ser acessadas utilizando o método get (). As propriedades do objeto podem ser acessadas utilizando notação de pontos ou notação de suporte quadrado.
O mapa possui uma propriedade de tamanho embutida para retornar o número de pares de valor-chave Objeto não tem esse recurso.
Mapa é iterável. Ele permite o loop através de todos os pares de valor-chave usando alguns métodos internos, como foreach (), chaves (), valores () e entradas (). O objeto não é iterável. É necessário usar loops ou objeto "para in".Método de entradas () para iterar pares de valor-chave.
Mapa é ordenado. Objeto não é ordenado.

Ao trabalhar com pequenos conjuntos de dados, a diferença de desempenho entre mapas e objetos é insignificante, mas ao trabalhar com conjuntos de dados maiores, os mapas podem ser mais rápidos à medida que são otimizados para desempenho.

Quando o mapa prefere sobre objetos em javascript?

Quando você precisa armazenar pares de valores-chave em um formulário ordenado ou o valor como chave, seja qualquer tipo de dados, como números, objetos ou símbolos, use o “Mapa" estrutura de dados. Os objetos serão usados ​​quando você precisar usar strings como chaves e quando você não precisar de nenhum dos recursos dos mapas. A diferença de desempenho entre mapas e objetos é insignificante enquanto trabalha com pequenos conjuntos de dados, mas ao trabalhar com conjuntos de dados maiores, os mapas podem ser mais rápidos à medida que são otimizados para desempenho.

Conclusão

Mapa e objeto são usados ​​para armazenar dados como pares de valor-chave em javascript, mas eles têm algumas diferenças. O MAP é uma estrutura de dados mais poderosa e flexível que o objeto e é a escolha preferida quando você precisa armazenar pares de valores-chave que precisam ser encomendados, ter chaves de diferentes tipos de dados ou ter uma propriedade de tamanho. Este post explicou a diferença entre mapa e objeto em javascript.