Explicación de Números distintos de cero
Objetivo de este acertijo: Presentar el concepto de Truthy y falsy.
Tutorial de la solución: La prueba de una if statement siempre es true
o false
. Por ejemplo:
let x = 3
if (x === 3) {
console.log('true!')
}
Este código imprimirá 'true!'
porque x
es igual a 3
.
Sin embargo, ¿qué sucede si lo escribimos así?
let x = 3
if (x) {
console.log('true!')
}
Este código también imprimirá 'true!'
. ¡Extraño!
Este código funciona porque cada valor en JavaScript es “truthy” o “falsy”.
Se ve confuso, pero es algo más simple de lo que parece.
Solo hay 6 valores falsy en JavaScript. Todo lo demás es truthy. Los 6 valores falsy son:
-
false
: el valor booleanfalse
-
0
: el número0
-
''
: Un string vacío -
NaN
: que significa “Not a Number” (no es un número), y generalmente es producto de errores matemáticos -
undefined
: el valor de una variable antes de que se le haya asignado un valor -
null
: un valor en blanco que se puede asignar a una variable
En este acertijo, se configura un classic for loop con i
definido inicialmente en 0 - 3(esta es una solución para la mayoría de los teclados de teléfonos móviles que no permite que los usuarios ingresen números negativos). Ciclará siempre que
i < 4e
ise incrementen en
1` con cada iteración.
Dentro del for loop, agrega una if statement. Si i
tiene un valor truthy, console.log()
imprimirá i
. Si i
tiene un valor falsy, no se imprimirá.
Cuando se ejecuta el código, cada número de -3
a 3
, excepto 0
que se imprimirá en la consola.
Solución del código de ejemplo:
for (let i = 0 - 3; i < 4; i++) {
if (i) {
console.log(i);
}
}
Conceptos de JavaScript: truthy y falsy, if statements, booleans, console.log()
, for loops