Dados mutáveis ​​e imutáveis ​​em JavaScript

Dados mutáveis ​​e imutáveis ​​em JavaScript
O termo mutabilidade significa mutável; O conceito de mutabilidade pode ser aplicado apenas a objetos e matrizes em JavaScript. O conceito da mutabilidade não pode ser aplicado a dados primitivos, como string, boolean, número, etc. Enquanto dados imutáveis ​​se referem a dados primitivos cujo estado não pode ser alterado. Neste post, entenderemos a diferença entre dados mutáveis ​​e dados imutáveis ​​com a ajuda de alguns exemplos.

Antes de seguir em direção a dados mutáveis ​​ou imutáveis, inicialmente, precisamos esclarecer o conceito de armazenar dados em variáveis ​​de JavaScript. As variáveis ​​em JavaScript são capazes de armazenar dois tipos de valores, tipo primitivo ou tipo de referência.

Total de sete tipos de dados primitivos estão disponíveis no JavaScript, enquanto existem três tipos de dados de referência. A principal diferença entre eles é que, no tipo de dados primitivo, a memória é alocada na pilha enquanto estiver no tipo de dados de referência, a memória é alocada na pilha. Portanto, em resumo, o tipo de dados primitivo é o tipo de dados de base, enquanto o tipo de dados de referência é o objeto composto de vários recursos e esses objetos são passados ​​como uma referência.

Dados mutáveis ​​em JavaScript

Objetos mutáveis ​​podem ser modificados ou revisados ​​após sua criação, mas devem lembrar que um objeto pode ter duas referências, e também é possível que haja dois objetos com as mesmas propriedades. Portanto, várias referências para um objeto e dois objetos com características semelhantes são duas coisas diferentes.

Implementação de dados mutáveis ​​em JavaScript

Vamos considerar um exemplo para entender a mutabilidade em JavaScript.

Seja funcionário1 = nome: "Joe Clarke", idade: 35, id: 123, cidade: 'Londres';
Seja funcionário2 = funcionário1;
Seja funcionário3 = nome: "Joe Denly", idade: 25, id: 121, cidade: 'Birmingham';
console.log ("verifique se funcionário1 = funcionário2", funcionário1 === funcionário2);
console.log ("verifique se funcionário1 = funcionário3", funcionário1 === funcionário3);

Criamos um objeto chamado “Employee1” e atribuímos algumas propriedades, na segunda linha, criamos uma variável “Employee2” e atribuiu a variável “Employee1” o que significa o “funcionário2”Teria as mesmas propriedades que o “Employee1”.

Depois, criamos outra variável com o nome de “Employee3” E atribuímos algumas propriedades diferentes.

Por fim, verificamos se “Employee2” e “Employee3” tem as mesmas propriedades que “Employee1” ou não.

A saída do código acima será:

Agora, vamos ver o que acontece se mudarmos o valor de "funcionário1", isso afetará as propriedades de "funcionário2"?

Vamos modificar nosso código:

Seja funcionário1 = nome: "Joe Clarke", idade: 35, id: 123, cidade: 'Londres';
Seja funcionário2 = funcionário1;
funcionário1.name = "Dean Elgar";
console.log ("valores atualizados de funcionário1:", funcionário1);
console.log ("valores atualizados de funcionário2:", funcionário2);

Vamos verificar se isso afeta o nome de propriedade de funcionário2 ou não.

A saída para o nosso código modificado será:

A partir da saída acima, podemos ver as mudanças que fazemos na propriedade de “funcionário1"Afetou o valor de"funcionário2" também. Isso acontece porque “funcionário2”Foi criado com a referência de “Employee1”.

Dados imutáveis ​​em javascript

Imutabilidade refere -se aos valores primitivos como string, número, etc. e em javascript, não podemos modificá -los, mas podemos reatribuir com alguns novos valores.

Implementação de dados imutáveis ​​em JavaScript

O exemplo abaixo do ritmo ajudará você a entender os tipos de dados imutáveis.

var funcionário1 = 'Daniel';
var funcionário2 = funcionário1;
console.log ("Nome do primeiro funcionário:", funcionário1);
console.log ("Nome do segundo funcionário:", funcionário2);

Criamos uma variável e atribuímos um valor a ele. Em seguida, criamos outra variável e a atribuímos a primeira variável, conforme destacado na captura de tela abaixo de ser dada.

Agora vamos examinar a saída, você verá as duas variáveis ​​mostrarem a mesma saída:

Agora mude o valor de “funcionário1”E observar, ele mudará o valor de“funcionário2”Também ou permanece o mesmo:

var funcionário1 = 'Daniel';
var funcionário2 = funcionário1;
console.log ("Nome do primeiro funcionário:", funcionário1);
console.log ("Nome do segundo funcionário:", funcionário2);
var funcionário1 = 'BRYN';
console.log ("Nome atualizado do 1º funcionário:", funcionário1);
console.log ("Nome atualizado do 2º funcionário:", funcionário2);

Agora, observe a saída:

O exemplo esclarece que quando mudamos o valor de funcionário1, Não afeta o valor da segunda variável, o que significa que o JavaScript trata os dois como variáveis ​​separadas.

Conclusão

Os dados mutáveis ​​podem ser modificados em qualquer momento, enquanto dados imutáveis ​​contradizem com os dados mutáveis, pois não podem ser alterados. Neste post, explicamos a diferença entre tipos de dados primitivos e tipos de referência. Então entendemos a idéia de dados mutáveis ​​e imutáveis, para esse fim, pegamos alguns exemplos e os implementamos em JavaScript. Finalmente, podemos concluir que, se alterarmos um valor da variável de referência, ele também sofrerá o valor original, mas a variável primitiva não sofre um monte.