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