CodeGym /Curso Java /Frontend SELF PT /Tipos Especiais em JavaScript

Tipos Especiais em JavaScript

Frontend SELF PT
Nível 35 , Lição 1
Disponível

2.1 Variáveis são referências

Em JavaScript, as variáveis são referências para objetos, e não a própria variável. Isso significa que, quando você cria uma variável em JavaScript, você está apenas criando uma referência para o objeto na memória.

Essa característica da linguagem tem importantes implicações ao trabalhar com variáveis, especialmente quando se passa objetos para funções ou se atribui a outras variáveis.

Quando você cria uma variável e atribui um valor a ela, o JavaScript aloca um objeto na memória para esse valor e torna a variável uma referência para esse objeto. Se você atribuir uma variável a outra, a nova variável irá referenciar o mesmo objeto que a variável original. Isso significa que as alterações feitas através de uma variável refletirão na outra, se o objeto for mutável.

Exemplo:

JavaScript
    
      let a = [1, 2, 3];
      let b = a;

      b.push(4);
      console.log(a);  // Exibe: [1, 2, 3, 4]
    
  

Nós adicionamos o número 4 na variável b, mas ele também foi adicionado à lista da variável a, pois na verdade ambas as variáveis são apenas referências ao objeto lista [1, 2, 3]

2.2 Tipo undefined

Em JavaScript, existem dois tipos de dados especiais: null e undefined. Esses tipos frequentemente geram dúvidas entre os desenvolvedores devido à sua semelhança, mas eles têm propósitos diferentes e são usados em situações distintas. Vamos analisá-los mais detalhadamente.

Tipo undefined

O tipo undefined representa o valor de uma variável que foi declarada, mas não inicializada. Esse valor também é retornado ao acessar uma propriedade inexistente de um objeto ou um elemento de um array que não existe.

Exemplos

1. Variável não inicializada:

JavaScript
    
      let x;
      console.log(x); // undefined
    
  

2. Propriedade inexistente de um objeto:

JavaScript
    
      let obj = {};
      console.log(obj.property); // undefined
    
  

3. Elemento inexistente de um array:

JavaScript
    
      let array = [1, 2, 3];
      console.log(array[5]); // undefined
    
  

4. Argumento ausente de uma função:

JavaScript
    
      function myFunction(a, b) {
        console.log(b); // undefined, se chamado como myFunction(1)
      }
      myFunction(1);
    
  

Propriedades do undefined:

  • undefined é tanto um tipo de dado quanto um valor
  • typeof undefined retorna undefined

2.3 Tipo null

O tipo null representa a ausência intencional de valor. Esse valor é frequentemente usado para inicializar variáveis que serão atribuídas a um objeto posteriormente, ou para limpar o valor de uma variável.

Exemplos

1. Inicialização de variável:

JavaScript
    
      let obj = null;
      console.log(obj); // null
    
  

2. Limpeza de valor de variável:

JavaScript
    
      let user = { name: "Alice" };
      user = null; // user agora não aponta mais para o objeto
    
  

Propriedades do null:

  • null é um valor que representa a ausência intencional de valor
  • typeof null retorna object, o que é um erro reconhecido na linguagem JavaScript (na verdade, null não é um objeto)

2.4 Comparação entre null e undefined

Embora null e undefined possam ser usados para indicar ausência de valor, eles diferem em finalidade e contexto de uso.

Propriedade null undefined
Tipo Tipo Primitivo Tipo Primitivo
Finalidade Ausência intencional de valor Variável não inicializada
Uso Inicialização de variáveis, limpeza de valor Propriedades inexistentes, elementos de array
Valor padrão Não Sim (para variáveis não inicializadas, parâmetros de funções)

Exemplos de uso

1. Inicialização de variável com objeto ou array:

JavaScript
    
      let myObject = null;
      let myArray = null;
    
  

2. Verificação de valores:

JavaScript
    
      let value;

      if (value === undefined) {
        console.log("Variável não inicializada.");
      }

      let result = null;

      if (result === null) {
        console.log("Ausência de valor.");
      }
    
  

3. Limpeza de valores:

JavaScript
    
      let person = { name: "Alice" };
      person = null; // Agora person não aponta mais para o objeto
    
  

4. Verificação de existência de propriedade:

JavaScript
    
      let obj = {};

      if (obj.property === undefined) {
        console.log("Propriedade não existe.");
      }
    
  

Entender as diferenças entre null e undefined em JavaScript é importante para gerenciar valores corretamente e evitar erros no código.

undefined geralmente indica variáveis não inicializadas ou propriedades ausentes, enquanto null é usado para indicar explicitamente a ausência de valor.

O uso correto desses tipos especiais de dados torna o código mais claro e previsível.

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION