CodeGym /Cursos /Frontend SELF ES /Tipos especiales en JavaScript

Tipos especiales en JavaScript

Frontend SELF ES
Nivel 35 , Lección 1
Disponible

2.1 Las variables son referencias

En JavaScript, las variables son referencias a objetos, no la variable en sí. Esto significa que, cuando creas una variable en JavaScript, solo estás creando una referencia a un objeto en la memoria.

Esta característica del lenguaje tiene importantes consecuencias para el manejo de variables, especialmente al pasar objetos a funciones o asignarlos a otras variables.

Cuando creas una variable y le asignas un valor, JavaScript asigna un objeto en memoria para ese valor y convierte la variable en una referencia a ese objeto. Si asignas una variable a otra, la nueva variable referenciará al mismo objeto que la variable original. Esto significa que los cambios realizados a través de una variable se reflejarán en la otra si el objeto es mutable.

Ejemplo:

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

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

Agregamos el número 4 a la variable b, pero también se agregó a la lista en la variable a, porque en realidad ambas variables son solo referencias al mismo objeto lista [1, 2, 3]

2.2 Tipo undefined

En JavaScript hay dos tipos de datos especiales: null y undefined. Estos tipos a menudo generan preguntas entre los desarrolladores debido a su similitud, pero tienen diferentes propósitos y se utilizan en distintas situaciones. Veamos más a fondo.

Tipo undefined

El tipo undefined representa el valor de una variable que ha sido declarada pero no inicializada. Este valor también se devuelve al acceder a una propiedad inexistente de un objeto o a un elemento de un array que no existe.

Ejemplos

1. Variable no inicializada:

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

2. Propiedad inexistente de un objeto:

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

3. Elemento inexistente de un array:

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

4. Argumento faltante en una función:

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

Propiedades de undefined:

  • undefined es un tipo de dato y un valor
  • typeof undefined devuelve undefined

2.3 Tipo null

El tipo null representa la ausencia intencionada de un valor. Este valor se suele usar para inicializar variables que posteriormente se les asignará un objeto, o para limpiar el valor de una variable.

Ejemplos

1. Inicialización de una variable:

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

2. Limpieza del valor de una variable:

JavaScript
    
      let user = { name: "Alice" };
      user = null; // ahora user no apunta a un objeto
    
  

Propiedades de null:

  • null es un valor que representa la ausencia intencionada de un valor
  • typeof null devuelve object, lo que es un error reconocido en el lenguaje JavaScript (en realidad null no es un objeto)

2.4 Comparación de null y undefined

Aunque null y undefined pueden usarse para indicar la ausencia de valor, se diferencian en su propósito y contexto de uso.

Propiedad null undefined
Tipo Tipo primitivo Tipo primitivo
Propósito Ausencia intencionada de valor Variable no inicializada
Uso Inicialización de variables, limpieza de valores Propiedades inexistentes, elementos de arrays
Valor por defecto No Sí (para variables no inicializadas, parámetros de funciones)

Ejemplos de uso

1. Inicialización de una variable con un objeto o array:

JavaScript
    
      let myObject = null;
      let myArray = null;
    
  

2. Comprobación de valores:

JavaScript
    
      let value;

      if (value === undefined) {
        console.log("La variable no está inicializada.");
      }

      let result = null;

      if (result === null) {
        console.log("Ausencia de valor.");
      }
    
  

3. Limpieza de valores:

JavaScript
    
      let person = { name: "Alice" };
      person = null; // Ahora person no apunta a un objeto
    
  

4. Comprobación de la existencia de una propiedad:

JavaScript
    
      let obj = {};

      if (obj.property === undefined) {
        console.log("La propiedad no existe.");
      }
    
  

Entender las diferencias entre null y undefined en JavaScript es importante para manejar correctamente los valores y prevenir errores en el código.

undefined generalmente indica variables no inicializadas o propiedades inexistentes, mientras que null se utiliza para indicar explícitamente la ausencia de un valor.

El uso adecuado de estos tipos de datos especiales hace que el código sea más claro y predecible.

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION