Aula 2: Funções, Condicionais e Loops
Dominando a engenharia reversa do fluxo lógico de dados em aplicações JavaScript.
1. Funções: Automatizando Rotinas
Funções são blocos lógicos estruturados que executam tarefas repetitivas sob demanda. Na arquitetura moderna, usamos tanto funções tradicionais quanto as velozes Arrow Functions:
// Estrutura clássica de função
function validarAcesso(usuario) {
return "Acesso liberado para " + usuario;
}
// Arrow Function simplificada (Escopo moderno)
const analisarSeguranca = (servidor) => `Analisando logs do servidor: ${servidor}`;
console.log(validarAcesso("Admin"));
console.log(analisarSeguranca("192.168.1.1"));
2. Condicionais: Tomadas de Decisão Logica
Condicionais orientam os rumos do script com base em testes booleanos (Verdadeiro ou Falso). Se uma condição for atendida, o software executa o gatilho mapeado.
let tentativasIncorretas = 3;
if (tentativasIncorretas >= 5) {
console.log("ALERTA: IP Bloqueado por força bruta!");
} else if (tentativasIncorretas > 0) {
console.log("Tentativa inválida. Monitorando comportamento...");
} else {
console.log("Autenticação estável.");
}
3. Loops: Laços de Repetição Avançados
Loops processam listas de dados ou repetem iterações contínuas até que uma regra de parada seja estabelecida. Perfeitos para varrer relatórios ou arrays de dados complexos.
const portasAtivas = [21, 22, 80, 443];
// Loop moderno for...of para navegar em coleções
for (const porta of portasAtivas) {
console.log(`Varredura concluída na porta de rede: ${porta}`);
}
🧪 Sandbox Terminal de Testes (Aula 2)
Modifique os parâmetros do código abaixo e teste a sua lógica em tempo real:
CONSOLE OUTPUT
"Status crítico: Ativar Firewalls imediatamente!"