js - ¿Cuál es el equivalente al operador ?? de php en js?

El operador doble interrogación o null coalesce de PHP y su equivalente en js

Estando en PHP.
Supongamos que esperamos datos de la petición $_POST y lo queremos almacenar en una variable.
El post tendría esta forma: $_POST["someinput"] = "algún valor"
Deberíamos hacer algo como:

$miInput = ""; if (isset($_POST["someinput"])) { $miInput = $_POST["someinput"]; } print_r($miInput);

La forma corta que se introdujo en php7 es el operador ?? o de fusión de null.
Con lo cual el código anterior quedaría así:

$miInput = $_POST["someinput"] ?? "";

?? en js

Esto mismo se puede hacer en js. El operador de fusión nulo en JS o "??" incluso facilita la validación de undefined.
Veamos el siguiente ejemplo:

const post = {} let miInput = "" //como post es un objeto tendría que hacer lo siguiente. Validar el undefined y por otro lado que no sea nulo if (typeof post.someinput !== "undefined" && typeof post.someinput === null ) { miInput = post.someinput } const post = {} let miInput = post.someinput ?? ""

En las siguientes imágenes se puede observar que el resultado es el mismo pero más limpio.

Autor: Eduardo A. F.
Publicado: 16-05-2021 18:55