A lógica de um programa depende de como lidamos com operações, comparações e controle de fluxo. Esses conceitos são a base de qualquer linguagem de programação, e entendê-los bem pode transformar seu código de básico para avançado.
Se você está começando, este guia vai te ajudar a compreender como usar operadores e controle de fluxo de forma eficiente. Se você já é experiente, encontrará detalhes aprofundados, boas práticas e otimizações que farão a diferença no seu código.
Vamos explorar cada um desses tópicos, do essencial ao avançado!
Os operadores permitem realizar operações matemáticas, comparar valores e manipular variáveis de várias formas. Eles são classificados em diferentes tipos:
São utilizados para cálculos matemáticos.
let soma = 5 + 3; // 8
let resto = 10 % 3; // 1 (módulo, resto da divisão)
let potencia = 2 ** 3; // 8 (exponenciação)
Dica para Experts: O operador ** foi introduzido no ES6 e é mais eficiente do que Math.pow().
Permitem verificar se dois valores são iguais ou diferentes.
console.log(5 == "5"); // true (conversão implícita)
console.log(5 === "5"); // false (compara tipo e valor)
💡 Boas práticas: Sempre prefira === para evitar conversões automáticas inesperadas.
Utilizados para expressões condicionais mais complexas.
let temPermissao = idade >= 18 && possuiCarteira;
Para Experts: Conheça a avaliação curta-circuito, onde && e || podem ser usados para evitar verificações desnecessárias.
Além de == e ===, temos outras formas de verificar igualdade:
console.log(Object.is(NaN, NaN)); // true
Para Experts: Object.is() é mais confiável que ===, pois trata NaN corretamente.
O controle de fluxo define a ordem de execução das instruções no código.
Permitem tomar decisões no código.
if (idade >= 18) {
console.log("Pode entrar!");
} else {
console.log("Acesso negado.");
}
Dica: Use switch
quando houver múltiplas opções, para melhor legibilidade.
try/catch/finally
)Essencial para capturar e lidar com erros.
try {
let dados = JSON.parse("texto inválido");
} catch (erro) {
console.error("Erro ao processar JSON:", erro);
} finally {
console.log("Isso sempre será executado.");
}
Para Experts: finally é útil para liberar recursos, como fechar conexões com banco de dados.
Os loops permitem executar um bloco de código várias vezes.
for (let i = 0; i < 5; i++) {
console.log(i);
}
Para Experts: Prefira forEach() e map() para manipular arrays de forma mais funcional.
Agora que você entende operadores, comparações e controle de fluxo, a prática é essencial!
Para Iniciantes: Resolva desafios no Codewars.
Para Experts: Aprofunde-se em padrões funcionais como reduce() e otimização de loops.
Com esse conhecimento, seu código será mais limpo, eficiente e poderoso!