¿Qué es el doble signo de interrogación igual en JavaScript?

¿Qué es el doble signo de interrogación igual en JavaScript?

El doble signo de interrogación igual (??) es un operador introducido en ECMAScript 2020 que se utiliza para evaluar expresiones con valores nulos o indefinidos. En este artículo, exploraremos en detalle cómo funciona este operador, cuando es útil, y cómo se compara con otros operadores de JavaScript.

📋 Aquí podrás encontrar✍
  1. Cómo funciona el operador de doble signo de interrogación igual
  2. Comparación con el operador ||
  3. Comparación con el operador ternario
  4. Ejemplos de Código
  5. Conclusión
  6. Preguntas frecuentes
    1. ¿Puedo utilizar el operador de doble signo de interrogación igual antes de ECMAScript 2020?
    2. ¿Qué es un valor falsy en JavaScript?
    3. ¿Cuál es la diferencia entre el operador de doble signo de interrogación igual y el operador ||?
    4. ¿Puedo encadenar múltiples operadores de doble signo de interrogación igual?

Cómo funciona el operador de doble signo de interrogación igual

El operador de doble signo de interrogación igual (??) devuelve el valor del operando derecho si el operando izquierdo es nulo o indefinido; en caso contrario devuelve el valor del operando izquierdo. Por ejemplo, el siguiente código:

```
let x = null ?? "valor predeterminado";
console.log(x);
```

Imprimira "valor predeterminado" en la consola, mientras que:

```
let y = "valor por defecto" ?? "valor predeterminado";
console.log(y);
```

Imprimira "valor por defecto".

También es posible encadenar múltiples operadores de doble signo de interrogación igual, lo que puede ser útil en situaciones más complejas:

```
let z = null ?? undefined ?? "valor predeterminado";
console.log(z);
```

Imprimirá "valor predeterminado", ya que ambos operandos izquierdo y derecho son nulos.

Comparación con el operador ||

Es fácil confundir el operador ?? con el operador || en JavaScript, ya que ambos operadores se utilizan para asignar valores predeterminados a variables. Sin embargo, hay una diferencia crucial en cómo tratan ambos operadores los valores que pueden ser falsos (false, 0, '', undefined, null, NaN).

El operador || devuelve el valor del primer operando que se evalúa a true, lo que significa que si un valor falsy (falso) se evalúa primero, se ignorará y se pasará al siguiente valor.

Por otro lado, el operador de doble signo de interrogación igual (??) solo devuelve el valor del operando derecho si el operando izquierdo es null o undefined.

Comparación con el operador ternario

El operador ternario también se utiliza a menudo para asignar valores predeterminados a variables, pero tiene una sintaxis diferente y no está diseñado específicamente para trabajar con valores nulos o indefinidos.

La sintaxis del operador ternario es la siguiente:

```
condición ? valorSiVerdadero : valorSiFalso;
```

Por ejemplo:

```
let edad = 21;
let mensaje = edad >= 18 ? "Eres mayor de edad" : "Eres menor de edad";
```

En este caso, si la edad es mayor o igual a 18, la variable mensaje se establecerá en "Eres mayor de edad", de lo contrario será "Eres menor de edad".

El operador de doble signo de interrogación igual (??) es una forma conveniente de asignar un valor predeterminado a una variable en caso de que sea null o indefinido, y es especialmente útil para trabajar con valores booleanos falsy.

Ejemplos de Código

Aquí hay algunos ejemplos de código que utilizan el operador de doble signo de interrogación igual:

```
// Ejemplo 1
let x = null ?? "valor predeterminado";
console.log(x); // "valor predeterminado"

// Ejemplo 2
let y = "valor por defecto" ?? "valor predeterminado";
console.log(y); // "valor por defecto"

// Ejemplo 3
let z = null ?? undefined ?? "valor predeterminado";
console.log(z); // "valor predeterminado"

// Ejemplo 4
let a;
console.log(a ?? "valor predeterminado"); // "valor predeterminado"
```

Conclusión

El doble signo de interrogación igual (??) es una adición útil a la lista de operadores de JavaScript, especialmente para aquellos que trabajan con valores nulos o indefinidos. Si bien es fácil confundir este operador con otros como || y el operador ternario, su comportamiento distinto hace que sea una herramienta valiosa para asignación de valores predeterminados.

Preguntas frecuentes

¿Puedo utilizar el operador de doble signo de interrogación igual antes de ECMAScript 2020?

No, el operador ?? fue introducido en ECMAScript 2020 y no está disponible en versiones anteriores del lenguaje.

¿Qué es un valor falsy en JavaScript?

Los valores falsy (falsos) en JavaScript son aquellos que se evalúan como falsos en un contexto booleano. Esto incluye los siguientes valores: false, 0, '', undefined, null, NaN.

¿Cuál es la diferencia entre el operador de doble signo de interrogación igual y el operador ||?

El operador || devuelve el valor del primer operando que se evalúa a true, mientras que el operador de doble signo de interrogación igual (??) solo devuelve el valor del operando derecho si el operando izquierdo es null o undefined.

¿Puedo encadenar múltiples operadores de doble signo de interrogación igual?

Sí, es posible encadenar múltiples operadores de doble signo de interrogación igual, lo que puede ser útil en situaciones más complejas para asignar valores predeterminados a varias variables.
[nekopost slugs="use-el-evento-de-la-imagen-de-imagen-javascript,eliminar-el-ultimo-caracter-de-string-javascript,crear-enlace-usando-javascript,agregar-atributo-dom-elemento-javascript,javascript-funcion-no-es-un-error-definido-pero-esta-definido,numero-de-telefono-regex-en-javascript,use-array-json-objects-javascript,verifique-el-objeto-de-valor-javascript,llame-a-la-funcion-javascript-en-la-carga-de-la-pagina"]

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir