me podrían ayudar con el ejercicio de Números distintos de cero
También estoy en el mismo porfavor alguien me podría ayudar también
Saludos, espero que sirva la siguiente explicación:
La prueba de una *if statement* siempre es *true* o *false*. Pero, ¿qué sucede si se coloca algún otro valor dentro de la prueba? Por ejemplo:
if (0) { console.log('True!'); /* */ } else { console.log('False!'); }
Resulta, que esto devolverá 'False!'. Esto significa que el número 0 es falsy, porque se comporta de la misma manera que false dentro de la prueba de una if statement.
En JavaScript, hay 6 valores falsy:
false: el valor boolean false
0: el número cero
'': el string vacío, un string sin caracteres
NaN: es la sigla de "Not a Number" (no es un número), generalmente producto de errores matemáticos
undefined: el valor de una variable antes de que se le asigne un valor
null: un valor en blanco que se puede asignar a una variable
Cualquier valor que no sea falsy se llama truthy. Eso significa cada número diferente de 0, cualquier string que no está vacío, cualquier object o arreglo, etc.
Eso significa que si pones cualquiera de estos valores truthy dentro de la prueba de una if statement, la prueba se aprobará y el código se ejecutará.
¿Cuál es la salida de este código?
if ('word') {
if (100) {
console.log('1');
} else {
console.log('2');
}
} else {
console.log('3');
}
La respuesta es:
Respuesta
1, ya que como dice en el parrafo resaltado anterior "cada número diferente de 0" es true
Ahora bien ya despues de tanta teoría
for (let i = 0 - 3; i < 4; i++) {
console.log(i);
}
imprimiria -3, -2, -1, 0, 1, 2, 3
ahora bien, lo que necesitamos es imprimir cualquier número distinto a 0 y para lograrlo necesitamos un if statement que compare si el índice del ciclo for es diferente de 0 para poder imprimir el número con console.log()
Respuesta Final
for (let i = 0 - 3; i < 4; i++) { if (i) { console.log(i); } }
y esto imprime -3, -2, -1, 1, 2, 3