Explicação de Números diferentes de zero
Objetivo do desafio: Introduzir o conceito de Truthy e Falsy
Passo a passo da solução: O teste de uma if statement é sempre true
ou false
. Por exemplo:
let x = 3
if (x === 3) {
console.log('true!')
}
Este código será impresso 'true!'
porque x
é igual a 3
.
Entretanto, e se o criarmos da seguinte maneira?
let x = 3
if (x) {
console.log('true!')
}
Esse código também será impresso 'true!'
. Estranho!
Esse código funciona porque todo valor em JavaScript ou é “truthy” ou “falsy”.
Parece confuso, mas é um pouco mais simples do que parece.
Existem apenas 6 valores falsy no JavaScript. Todo o resto é truthy. Os 6 valores falsy são:
-
false
: o valor booleanofalse
-
0
: o número0
-
''
: Uma string vazia -
NaN
: que significa “Não um número” e é causado normalmente por erros matemáticos -
undefined
: o valor de uma variável antes de ser atribuído um valor a ela -
null
: um valor em branco que pode ser atribuído a uma variável
Neste desafio, um laço for clássico é criado com i
inicialmente configurado em 0 - 3
(essa é uma alternativa para a maioria dos teclados de telefones celulares que não permitem aos usuários inserir números negativos). O laço será tão longo quanto i < 4
e i
será incrementado por 1
em cada iteração.
Dentro do laço for, uma if statement testa i
. Se i
tem um valor truthy, o console.log()
imprimirá i
. Se i
tem um valor falsy, ele não será impresso.
Quando o código for executado, todos os números de -3
a 3
exceto 0
serão impressos no console.
Solução do código de exemplo:
for (let i = 0 - 3; i < 4; i++) {
if (i) {
console.log(i);
}
}
Conceitos de JavaScript: Truthy e Falsy, If Statements, Booleanos, console.log()
, Laço for