Equivalente de la sentencia unless de Ruby en JavaScript
-
Cree una función definida por el usuario para implementar la instrucción
unlessen JavaScript -
Negue la declaración
if-elsepara implementar la declaraciónunlessen 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:

