Mapa vs Objeto em JavaScript

Mapa Vs Objeto Em Javascript



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

Este post explicará a diferença entre Map e Object em JavaScript.

Como definir um objeto em JavaScript?

Em JavaScript, um objeto é uma coleção de propriedades, cada uma com um par chave-valor. O ' chave ' é o ' nome ”, e um “ valor ” é o “valor” contra a chave. Os 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 {} colchetes ou o construtor Object. Usando a notação literal ou colchetes, use a sintaxe abaixo:



const objeto = {
chave : valor,
chave : valor
}

Criando um objeto usando o construtor Object ou o “ novo ”, use a seguinte sintaxe:





const objeto = novo Objeto ( ) ;

objeto. chave = valor ;

Observação: Tenha em mente que as chaves ou nomes das propriedades do objeto devem ser uma string.

Exemplo 1: criar um objeto usando 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 ,
Núm. da lista : 25 ,
padrão : 9
}

Imprima o objeto no console:

console. registro ( stdObject ) ;

Saída

Exemplo 2: criar um objeto usando o construtor de objetos em JavaScript

Aqui, vamos criar um objeto usando o construtor Object utilizando o “ novo ” palavra-chave:

const stdObject = novo Objeto ( ) ;

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

stdObject. nome = 'Porra' ;

stdObject. idade = 19 ;

stdObject. Núm. da lista = quinze ;

stdObject. padrão = 10 ;

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

console. registro ( stdObject ) ;

Saída

Como definir o mapa em JavaScript?

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

Sintaxe

Para inicializar um Mapa use a seguinte sintaxe:

const mapa = novo Mapa ( [

[ 'chave' , 'valor' ] ,

[ 'chave' , 'valor' ]

] ) ;

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

const mapa = novo Mapa ( ) ;

mapa. definir ( 'chave' , 'valor' ) ;

Exemplo: criar um mapa em JavaScript

No exemplo dado, criaremos um Map usando ambas as sintaxes.

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

const mapStd = novo mapa ( [
[ 'nome' , 'John' ] ,
[ 'idade' , 18 ] ,
[ 'Núm. da lista' , 25 ] ,
[ 'padrão' , 9 ] ,
] ) ;

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

const mapStd = novo Mapa ( ) ;

Defina valores no mapa em um par chave-valor usando o ' definir() ” método:

mapStd. definir ( 'nome' , 'John' ) ;

mapStd. definir ( 'idade' , 18 ) ;

mapStd. definir ( 'Núm. da lista' , 25 ) ;

mapStd. definir ( 'padrão' , 9 ) ;

Para imprimir o mapa no console, use o botão “ entradas() ” método com o “ para de ' laço:

para ( const [ valor chave ] de mapStd. entradas ( ) ) {

console. registro ( `$ { chave } : $ { valor } ` ) ;

}

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

console. registro ( 'O rolo de' + mapStd. pegar ( 'nome' ) + ' é ' + mapStd. pegar ( 'Núm. da lista' ) ) ;

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 Mapa e Objeto é a seguinte:

Mapa Objeto
Foi introduzido no ECMAScript 6 em 2015. O JavaScript introduziu o tipo de dados Object em sua primeira versão (ECMAScript 1) lançada em 1997.
O mapa permite chaves de qualquer tipo de dados (por exemplo, objetos, funções, números, etc.). As chaves de objeto devem ser strings.
As propriedades de um Map podem ser acessadas utilizando o método get(). As propriedades do objeto podem ser acessadas utilizando a notação de ponto ou a notação de colchetes.
O mapa possui uma propriedade de tamanho integrada para retornar o número de pares chave-valor O objeto não possui esse recurso.
O mapa é iterável. Ele permite percorrer todos os pares chave-valor usando alguns métodos integrados, como forEach(), keys(), values() e entry(). O objeto não é iterável. É necessário usar loops “for-in” ou o método Object.entries() para iterar pares chave-valor.
O mapa é ordenado. O objeto não está 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, pois são otimizados para desempenho.

Quando o mapa prefere objetos em JavaScript?

Quando você precisar armazenar pares chave-valor em um formato ordenado ou o valor como uma chave ser qualquer tipo de dados, como números, objetos ou símbolos, use o comando “ Mapa ' estrutura de dados. Os objetos serão usados ​​quando você precisar usar strings como chaves e quando não precisar de nenhum dos recursos do Maps. A diferença de desempenho entre mapas e objetos é insignificante ao trabalhar com pequenos conjuntos de dados, mas ao trabalhar com conjuntos de dados maiores, os mapas podem ser mais rápidos, pois são otimizados para desempenho.

Conclusão

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