Tipos e conversões

Condições

Por enquanto todo o código aqui foi executado, mas frequentemente, você precisa que um pedaço do código só aconteça às vezes.

Introduzindo, if:

if (10 > 5) {
	console.log("Executei!")
}
> "Executei!"
if (10 < 5) {
	console.log("Executei!")
}

O segundo não era para fazer nada mesmo. A palavra if significa "se", em inglês, e usando ela podemos definir código que só é executado às vezes.

O primeiro bloco executa porque 10 > 5 é verdadeiro. O símbolo > é chamado de "maior do que".

O resultado dele é verdadeiro se o primeiro número é maior do que o segundo.

console.log(10 > 5) // true significa verdadeiro
console.log(0 > 1) // false significa falso
> true > false

O símbolo < é o oposto, ele se chama "menor do que".

console.log(10 < 5) // 10 não é menor do que 5
console.log(0 < 1) // 0 é menor do que 1
> false > true

Para checar se os números são iguais, usa-se o símbolo ===. Cuide para não confundir com o = que só define variáveis.

Já o símbolo !== é o oposto, checa se os números são diferentes.

console.log(3 === 3)
console.log(3 !== 3)
> true > false

Há variações dos símbolos > e < que também permitem que os números sejam iguais:

console.log(6 >= 4) // maior ou igual
console.log(4 >= 4)
> true > true
console.log(-5 <= -5) // menor ou igual
console.log(3 <= -5)
> true > false

=== e !== também funcionam com strings:

console.log("biscoito" === "bolacha")
console.log("🍪" === "🍪")
> false > true

O if usa {chaves} para definir um bloco de código.

O espaço em branco no começo das linhas deixa mais fácil de ver que parte do código está dentro do bloco.


				let numero = 0
if (numero >= 0) {
	console.log("positivo ou zero")
} else {
	console.log("negativo")
}
			
> "positivo ou zero"

Já esse else é uma adição opcional. O bloco de código dele executa quando o if falhar. Volte aos primeiros exemplos da página pra garantir que entendeu o que aconteceu.

E finalmente, true e false podem ser usados como valores de variável:

const verdadeiro = true
if (verdadeiro) {
	console.log("sim")
}
> "sim"