A Importância de Saber que false == 0
- #Lógica de Programação
Recentemente postei um artigo no codecamp denominado "Otimizando ao máximo o JS" (inclusive, reaja positivamente lá! Vai me ajudar e muito). Uma das dicas foi saber que false == 0 e true == 1 (sendo que true pode ser qualquer valor diferente de 0), mas afinal, porque isso é importante?
Bem, não é tão importante para um contexto geral CASO você não seja um perfeccionista. Se você é, vai ter que aturar muita coisa...
Imagine a seguinte situação: você quer saber se um número é par ou ímpar. Como você faria? A solução mais genérica é:
OBS: O JS É SÓ UMA ESCOLHA ARBITRÁRIA
js
if(numero % 2 === 0){}else{}
E essa solução está certíssima. Porém, somos perfeccionistas e queremos mais! Como otimizar mais esse código? Simples: lógica de programação.
Se o numero for divisível por 0, o js irá considerar como false; ou seja, o "===" é quase redundante.
Não é redundante porque o "===" fará com que o bloco if seja executado (em caso de par), e caso contrário, executará o else.
Porém, uma otimização maior é tirar o "=== 0"; assim, o código verificará se o código é ímpar e, caso for, rodará o else (no caso de par). Na prática, removemos a "redundância" e invertemos a ordem dos fatores.
Portanto, o código abaixo rodará na sua máquina sem sufoco:
let numero = 4;
if(numero % 2){ // a expressão dá 0, portanto false
console.log("O número deu ímpar!");
}else{ // o else então será executado, já que o valor anterior foi false
console.log("O número deu par!");
Gostou desse pequenino hack? Caso queira ver mais, reaja positivamente a esse post!