Operadores e Estruturas de Controle em JavaScript

Operadores

Operadores de Atribuição

Operadores de atribuição são utilizados para atribuir valores a variáveis. Os operadores compostos disponíveis são:

  • +=
  • -=
  • *=
  • /=
  • %=

Por exemplo, a expressão total += 5 é equivalente a total = total + 5.

Operadores Unários

Operadores que atuam sobre um único operando. Os principais são o incremento (++) e o decremento (--), que adicionam ou subtraem 1 do valor da variável, respectivamente. São frequentemente utilizados em contadores.

Operador de Incremanto

Existem duas formas de utilização:

Pré-incremento: O valor é incrementado antes de ser utilizado na expressão.

let contador = 1;
let valor = ++contador + 3;
// O valor de 'contador' torna-se 2, depois soma-se 3.
// O resultado em 'valor' é 5.

Pós-incremento: O valor atual é utilizado na expressão, e só depois é incrementado.

let indice = 1;
let resultado = indice++ + 3;
// O valor original de 'indice' (1) é somado a 3.
// O resultado em 'resultado' é 4.
// Depois da operação, 'indice' torna-se 2.

Observação: Quando utilizados isoladamente, sem fazer parte de uma expressão, ambos os operadores produzem o mesmo efeito.

Operadores de Comparação

Comparam dois valores e retornam um booleano (true ou false).

  • >, <: Maior ou menor que.
  • >=, <=: Maior ou igual, menor ou igual.
  • ==: Igualdade de valor (com coerção de tipo).
  • ===: Igualdade estrita (valor e tipo). É a forma recomendada.
  • !==: Desigualdade estrita.

Cadeias de caracteres são comparadas caractere por caractere, com base nos seus valores ASCII. O valor NaN não é considerado igual a qualquer coisa, incluindo ele mesmo. Evite comparar números de ponto flutuante diretamente devido a imprecisões. A comparação entre tipos diferentes aciona uma coerção implícita para número.

Operadores Lógicos

Utilizados para combinar expressões booleanas. São && (E lógico) e || (OU lógico).

Precedência de Operadores

O operador lógico de negação (!) tem precedência alta. O operador &&; tem precedência superior ao ||.

Estruturas de Controle

Expressões vs. Instruções

Uma expressão é um fragmento de código que produz um valor. Por exemplo, 3 + 4 ou idade >= 18. Pode ser atribuída a uma variável.

Uma instrução (ou statement) é uma unidade de código que realiza uma ação, como console.log("Olá") ou uma estrutura de controle como if. Não pode ser usada em uma atribuição.

Estruturas Condicionais

Instrução if

Estrutura condicional básica que executa um bloco de código se uma condição for verdadeira.

if (condicao) {
    // Bloco executado se a condição for verdadeira
}

Se a condição não for booleana, ela será convertida implicitamente. Números (exceto 0) e strings (exceto a vazia "") são convertidos para true.

Instrução if...else

Permite definir um bloco alternativo para quando a condição for falsa.

if (condicao) {
    // Código A
} else {
    // Código B
}

Instrução if...else if...else

Utilizada para testar múltiplas condições em sequência.

if (condicao1) {
    // Bloco 1
} else if (condicao2) {
    // Bloco 2
} else {
    // Bloco padrão
}

A execução para no primeiro bloco cuja condição seja avaliada como verdadeira.

Operador Ternário

Uma forma abreviada de escrever uma estrutura if...else simples, geralmente usada para atribuição condicional.

let resultado = condicao ? valorVerdadeiro : valorFalso;

Instrução switch

Compara uma expressão com valores específicos (case). Requer o uso de break para evitar a execução contínua dos casos seguintes.

switch (expressao) {
    case valor1:
        // Código 1
        break;
    case valor2:
        // Código 2
        break;
    default:
        // Código padrão
}

É mais adequada para comparações de igualdade do que para intervalos de valores.

Estruturas de Repetição (Loops)

Loop while

Executa um bloco de código repetidamente enquanto uma condição for verdadeira. A verificação ocorre antes de cada iteração.

let iterador = 0;
while (iterador < 5) {
    console.log(`Iteração: ${iterador}`);
    iterador++; // Atualização essencial para evitar loop infinito
}

Os três elementos essenciais de um loop while são: inicialização do contador, condição de parada e atualização do contador.

Loop for

Uma estrutura mais compacta que consolida a inicialização, a condição e a atualização em uma única linha.

for (let contador = 0; contador < 5; contador++) {
    console.log(`Contagem: ${contador}`);
}

É possível criar loops infinitos com while(true) ou for(;;). Nesses casos, a instrução break é utilizada para sair do loop. A instrução continue encerra a iteração atual e avança para a próxima.

Loops Aninhados

Um loop dentro de outro loop. O loop interno executa todas as suas iterações para cada iteração do loop externo.

for (let linha = 0; linha < 3; linha++) {
    for (let coluna = 0; coluna < 2; coluna++) {
        console.log(`Posição: [${linha}, ${coluna}]`);
    }
}

Tags: javascript Operadores Estruturas de Controle loops Condicionais

Publicado em 7-22 11:01