Equivalente de la sentencia unless de Ruby en JavaScript
-
Cree una función definida por el usuario para implementar la instrucción
unless
en JavaScript -
Negue la declaración
if-else
para implementar la declaraciónunless
en JavaScript
En Ruby, las declaraciones condicionales siguen la convención unless
, mientras que la mayoría de los lenguajes de programación prefieren la condición if-else
. El beneficio es similar; solo la preferencia está incorporada con cada idioma.
Aparte de Ruby, Perl, CoffeeScript, etc., utilice la instrucción unless
.
Aquí, en nuestro caso, visualizaremos la aplicación de un enunciado general if-else
con la definición de unless
. Esto significa que configuraremos nuestra declaración if-else
para que se comporte como una declaración unless
.
Para la unidad, generaremos una función llamada unless
, y también, usaremos if-else
directo para realizar la operación de la declaración unless
.
Cree una función definida por el usuario para implementar la instrucción unless
en JavaScript
La función que crearemos aquí tendrá una condición. Además, en función de esa condición, generaremos otra función de devolución de llamada que inferirá la satisfacibilidad de la función.
Veamos las líneas de código para una mejor comprensión.
Fragmento de código:
let unless = (condition, callback) => {
!condition && callback();
} let a = 10;
let b = 20;
unless(a > b, () => {console.log('A should be greater than B')})
Producción:
Como puede ver, la función unless
toma una condición. En nuestro caso, la condición es que a sea menor que b
.
Pero la función unless
se niega, y cuando establecemos la condición como a>b
, la aceptará y activará la función de devolución de llamada para operar. Pero de acuerdo con el escenario de una declaración general if-else
, no se suponía que activaría la función de devolución de llamada ya que la condición habría caído bajo la declaración else
.
Negue la declaración if-else
para implementar la declaración unless
en JavaScript
Esta parte es comparativamente más fácil de comprender e implementar. Todo lo que necesitas es configurar el if
para que funcione como else
y el else
para que funcione como if
.
Cualquiera que sea la condición que se aplique sobre if
se negará de antemano y, por lo tanto, el si no
se definirá automáticamente. Probemos la valla de código para demostrar la situación.
Fragmento de código:
var a = 42;
var b = 10;
if (!(a > b)) {
console.log('Incorrect');
} else {
console.log('Correct');
}
Producción: