Operador coalescente nulo de JavaScript

A continuación se muestra el ejemplo del operador coalescente nulo.

  • Ejemplo:

    <script>
    function foo(bar) {
        bar = bar ?? 55;
        document.write(bar);
        document.write("</br>");
          
    }
    foo();  // 55
    foo(22); // 22
    </script>
  • Producción:
    55
    22

Operador coalescente nulo: es una nueva característica introducida en esta propuesta de ECMA que ahora se ha adoptado en la especificación oficial de JavaScript. Este operador devuelve el valor de la mano derecha si el valor de la mano izquierda es nulo o indefinido . Si no es nulo o indefinido, devolverá el valor de la mano izquierda. Antes, establecer valores predeterminados para variables indefinidas y nulas requería el uso de la declaración if o el operador lógico OR “||” Como se muestra abajo:

  • Programa:

    <script>
    function foo(bar) {
        bar = bar || 42;
        console.log(bar);
    }
      
    // Output: 42
    foo();
    </script>
  • Producción:
    42

Cuando el parámetro pasado es menor que el número de parámetros definidos en el prototipo de función, se le asigna el valor de undefined . Para establecer valores predeterminados para los parámetros que no se pasan durante la llamada a la función, o para establecer valores predeterminados para campos que no están presentes en un objeto JSON, el método anterior es popular.

  • Programa:

    </script>
    function foo(bar) {
        bar = bar || 42;
        console.log(bar);
    }
    // Output: 42
    foo(0);
    </script>
  • Producción:
    42

Hay valores en JavaScript como 0 y una string vacía que son lógicamente falsos por naturaleza. Estos valores pueden cambiar el comportamiento esperado de los programas escritos en JavaScript.

Todos los problemas recurrentes llevaron al desarrollo del Operador Coalescente Nulo . El operador coalescente nulo se define mediante dos signos de interrogación adyacentes ?? y su uso es el siguiente:

  • Sintaxis:
    variable ?? default_value

Ejemplos: si la variable pasada es nula o indefinida y solo si son esos dos valores, se devolverá el valor predeterminado. En todos los demás casos, incluidos 0, string vacía o falso, se devuelve el valor de la variable y no el valor predeterminado.

  • Programa 1:

    <script>
    function foo(bar) {
        bar = bar ?? 42;
        console.log(bar);
    }
      
    foo();  // 42
    foo(0); // 0
    </script>
  • Producción:
  • Programa 2: el caso de uso más común es establecer valores predeterminados para objetos JSON de la siguiente manera.

    <script>
    const foo = {
        bar: 0
    }
      
    const valueBar = foo.bar ?? 42;
    const valueBaz = foo.baz ?? 42;
      
    // Value of bar: 0
    console.log("Value of bar: ", valueBar);
      
    // Value of bar: 42
    console.log("Value of baz: ", valueBaz);
    </script>
  • Producción:

Navegadores compatibles: los navegadores compatibles con JavaScript Nullish Coalescing Operator se enumeran a continuación:

  • Google cromo 80
  • Firefox 72

Publicación traducida automáticamente

Artículo escrito por Kriyszig y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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