¿Qué son los empty-statement en javascript? ¿Existen casos de uso?
Fernando Barrios - jfergt
Posted on February 27, 2022
Javascript tiene ciertas peculiaridades que en ciertos momentos resultan ser importantes, o al menos interesantes, de conocer. Puede que los empty-statement
sean de esas peculiaridades de JavaScript que resultan no ser tan necesarias o al menos no con tantos casos de uso.
¿Qué es un statement?
una sentencia (statement) es una unidad sintáctica de un lenguaje de programación imperativo que expresa alguna acción a realizar. Podemos decir que son las unidades ejecutable más pequeña de un programa.
Si tiene una línea de código que dice var x= 10; consola.log(x);
eso es una línea y 2 sentencias.
¿Qué son los empty-statement en javascript?
Un empty-statement
o sentencia vacía es usada para no proveer una sentencia, incluso si la sintaxis JavaScript esperase una. En pocas palabras un empty-statement
es un ;
(punto y coma).
Una sentencia vacía no proporciona ninguna declaración aunque JavaScript la espere. La declaración no tiene ningún efecto y no realiza ninguna acción.
Un ejemplo típico sería crear un bucle for que no tenga cuerpo.
var arr = [1, 2, 3];
// Asignar el valor 0 a todos los elementos del array
for (i = 0; i < arr.length; arr[i++] = 0) /* sentencia vacía */ ;
console.log(arr);
// [0, 0, 0]
Siempre se recomienda añadir un comentario a nuestro código cuando estamos utilizando sentencias vacías de forma intencional.
Un ejemplo de un uso no intencional (Mozilla Doc):
if (condicion); // Esta condición no ejerce ningún control!
borrarTodo() // Por lo cual esta sentencia será ejecutada siempre!!!
Algunos ejemplos de uso
Asigna a 'b' el valor cero si 'a' no es cero.
var a = 1, b = 1;
if((a == 0) || (b = 0));
console.log(b); // 0
Cadenas de if-else
, para excluír ciertas condiciones
const name = "Fernando";
if (name === "Barrios")
console.log(name);
else if (name === "Fernando")
console.log(`Hola ${name}`); // Hola Fernando
else if (name === "Juan"); // No se realiza ninguna acción si el nombre pasado es "Juan"
else if (name === "Carlos")
console.log(`Gusto en verte ${name}`);
else
console.log("Adiós");
Para evitar un comportamiento no deseado en IIFE, en algún momento querrá anteponerlo con una declaración vacía
;(()=>console.log('hola'))()
Esperar a que una condición se cumpla
while ( !condition );
// haz lo que sucede una vez que se cumple tu condición
Referencias:
Posted on February 27, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.