Notas Técnicas do zhaoJian

Curso IT Fundamentos JavaScript 040_Operadores

Aprendizado / Fundamentos JavaScript ~11920 palavras · 30 min de leitura - visualizações

Operadores JavaScript são usados para realizar operações matemáticas, comparações, operações lógicas, etc., e retornar resultados.

Operadores Aritméticos

  • +: Adição
  • -: Subtração
  • *: Multiplicação
  • /: Divisão
  • %: Resto (módulo)
  • **: Exponenciação

Exemplo:

let a = 5;
let b = 2;
console.log(a + b); // Saída 7
console.log(a - b); // Saída 3
console.log(a * b); // Saída 10
console.log(a / b); // Saída 2.5
console.log(a % b); // Saída 1
console.log(a**b); // Saída 25

Operadores de Atribuição

  • =: Atribuição
  • +=: Atribuição de adição
  • -=: Atribuição de subtração
  • *=: Atribuição de multiplicação
  • /=: Atribuição de divisão
  • %=: Atribuição de resto
  • **=: Atribuição de exponenciação
  • ??=: Atribuição nula, atribui apenas quando o valor da variável é null ou undefined

Exemplo:

let x = 5;
x += 2; // x = x + 2; Saída 7
x -= 2; // x = x - 2; Saída 3
x *= 2; // x = x * 2; Saída 10
x /= 2; // x = x / 2; Saída 2.5
x %= 2; // x = x % 2; Saída 1
x **= 2; // x = x ** 2; Saída 25
x ??= 2; // Saída 5, quando x é null ou undefined atribui 2
console.log(x);

Operadores de Comparação

  • ==: Igualdade (o tipo de valor é convertido automaticamente)
  • ===: Igualdade estrita (valor e tipo devem ser iguais)
  • !=: Desigualdade
  • !==: Desigualdade estrita
  • >: Maior que
  • <: Menor que
  • >=: Maior ou igual
  • <=: Menor ou igual

Ao encontrar valores não numéricos, primeiro converte para número e depois compara. Ao encontrar strings, compara o código Unicode dos caracteres posição por posição.

Exemplo:

let a = 5;
let b = '5';
let c = 10;
console.log(a == b); // Saída true, valores são iguais
console.log(a === b); // Saída false, tipos são diferentes
console.log(a != b); // Saída false, valores são iguais
console.log(a !== b); // Saída true, tipos são diferentes
console.log(a > c); // Saída false, 5 < 10
console.log(a < c); // Saída true, 5 < 10
console.log(a >= c); // Saída false, 5 <= 10
console.log(a <= c); // Saída true, 5 <= 10

Operadores Lógicos

Operadores lógicos ao processar operandos convertem-nos em valores booleanos e retornam o valor original do operando.

&&: E lógico (AND)

Usado para verificar se todas as condições são true. Se todas as condições forem true, o resultado da expressão inteira é true; caso contrário, o resultado é false. A operação AND procura o primeiro false da esquerda para a direita sequencialmente. Se encontrar false, para o cálculo e retorna o valor original deste operando (avaliação de curto-circuito). Se não houver false, retorna o último true.

||: OU lógico (OR)

Usado para verificar se pelo menos uma condição é true. Se pelo menos uma condição for true, o resultado da expressão inteira é true; se todas as condições forem false, o resultado é false. A operação OR procura o primeiro true da esquerda para a direita sequencialmente. Se encontrar true, para o cálculo e retorna o valor original deste operando (avaliação de curto-circuito). Se não houver true, retorna o último false.

!: NÃO lógico (NOT)

Usado para inverter um valor booleano. Se um valor for true, usando o operador NOT lógico, ele é invertido para false; se um valor for false, é invertido para true. O NOT lógico também pode ser usado para converter valores não booleanos em valores booleanos. Ele converterá qualquer valor que não seja null, undefined, 0, NaN, "" (string vazia) em true, enquanto os valores mencionados acima são todos convertidos em false.

Exemplo:

let a = true;
let b = false;
let c = "hello";
let d = null;
console.log(a && b); // Saída false
console.log(c && d); // Saída null
console.log(a || b); // Saída true
console.log(c || d); // Saída hello
console.log(!a); // Saída false
console.log(!d); // Saída true

Operador Ternário

  • condition ? expr1 : expr2: Se a condição for verdadeira, retorna expr1, caso contrário, retorna expr2.

Exemplo:

let age = 18;
let status = (age >= 18) ? 'Adulto' : 'Menor';
console.log(status); // Saída 'Adulto'

Operador de Coalescência Nula

O operador de coalescência nula (Nullish Coalescing Operator) é usado para processar valores padrão, normalmente usado para garantir que uma variável tenha um valor não nulo (não null e não undefined). A sintaxe deste operador é ??.

Ao usar o operador de coalescência nula, ele retorna o primeiro operando definido (não null e não undefined). Se o primeiro operando for null ou undefined, retorna o segundo operando.

Exemplo:

let num1 = 0;
let num2 = 1;
let result = num1 ?? num2;
console.log(result); // Saída 0, porque num não é null ou undefined
let user;
console.log(user ?? "Anônimo"); // Saída Anônimo, porque user não está definido

Operadores Bit a Bit

  • &: AND bit a bit
  • |: OR bit a bit
  • ^: XOR bit a bit
  • ~: NOT bit a bit
  • <<: Deslocamento à esquerda
  • >>: Deslocamento à direita
  • >>>: Deslocamento à direita sem sinal

Exemplo:

let a = 5; // Binário: 0101
let b = 3; // Binário: 0011
console.log(a & b); // Saída 1 (AND bit a bit)
console.log(a | b); // Saída 7 (OR bit a bit)
console.log(a ^ b); // Saída 6 (XOR bit a bit)
console.log(~a); // Saída -6 (NOT bit a bit)
console.log(a << 1); // Saída 10 (Deslocamento à esquerda)
console.log(a >> 1); // Saída 2 (Deslocamento à direita)

Outros Operadores

  • typeof: Retorna uma string que indica o tipo do operando não avaliado.
  • instanceof: Usado para testar se um objeto é uma instância do tipo especificado.

Exemplo:

let str = 'Hello';
console.log(typeof str); // Saída 'string'
let arr = [1, 2, 3];
console.log(arr instanceof Array); // Saída true

+ (Adição)

Em JavaScript, o sinal de adição + tem múltiplas finalidades, incluindo operações matemáticas, concatenação de strings e operações unárias.

Operação Matemática

Exemplo:

let a = 5;
let b = 3;
let result = a + b;
console.log(result); // Saída 8

Se ambos forem números, + é usado para realizar adição matemática.

Concatenação de Strings

Exemplo:

let str1 = 'Hello';
let str2 = ' World';
let result = str1 + str2;
console.log(result); // Saída 'Hello World'

Se um dos operandos for uma string, + executará concatenação de strings.

Operador Unário de Adição

Exemplo:

let str = '42';
let num = +str;
console.log(num); // Saída 42

Ao usar + antes de um único operando, ele pode converter o operando em número, esta é a função do operador unário de adição.

Conversão de Tipo

Exemplo:

let num = 42;
let str = '10';
let result = num + str; // Conversão de tipo implícita (coerção de tipo)
console.log(result); // Saída '4210'

Se um dos operandos for uma string, + realizará conversão de tipo, convertendo outros operandos em string e depois executará concatenação de strings.

Conexão de Arrays

Exemplo:

let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let result = arr1 + arr2;
console.log(result); // Saída '1,2,34,5,6'

Quando um operando é um array, + converterá o array em string e depois executará concatenação de strings.

Casos Especiais

Exemplo:

let specialResult1 = '1' + 2 + 3;
console.log(specialResult1); // Saída '123'
let specialResult2 = 2 + 3 + '1';
console.log(specialResult2); // Saída '51'

specialResult1, porque a string aparece no lado esquerdo de +, os números subsequentes serão concatenados como strings. specialResult2, porque a string aparece no lado direito de +, os números anteriores primeiro realizarão operação matemática e depois serão concatenados.


- (Subtração)

Em JavaScript, o sinal de subtração - é um operador usado para realizar subtração matemática.

Subtração Matemática

Exemplo:

let a = 5;
let b = 3;
let result = a - b;
console.log(result); // Saída 2

Se ambos forem números, - é usado para realizar subtração matemática.

Operador Unário de Subtração

Exemplo:

let num = 42;
let result = -num;
console.log(result); // Saída -42

Ao usar - antes de um único operando, ele pode executar operação unária de subtração, transformando o operando em seu oposto.

Conversão de Tipo

Exemplo:

let num1 = 42;
let str = '10';
let result = num1 - str;
console.log(result); // Saída 32

Se um dos operandos for uma string, - realizará conversão de tipo, convertendo outros operandos em número e depois executará subtração matemática.

Casos Especiais

Exemplo:

let specialResult = '10' - 2;
console.log(specialResult); // Saída 8

Neste caso especial, como o conteúdo da string pode ser convertido com sucesso em número, - executará subtração matemática.


=、==、=== (Atribuição, Igualdade Frouxa, Igualdade Estrita)

Em JavaScript, o sinal de igual = é um operador de atribuição, enquanto == e === são operadores de comparação. A igualdade frouxa converterá dois operandos para o mesmo tipo e depois realizará a comparação. Em julgamentos condicionais, geralmente usa-se === para comparação de igualdade estrita, pois não realiza conversão de tipo.

Operador de Atribuição

= é usado para atribuir o valor do lado direito à variável do lado esquerdo.

Exemplo:

let x = 5;
let y = 'Hello';
console.log(x); // Saída 5
console.log(y); // Saída 'Hello'

Neste exemplo, = atribui o valor do lado direito às variáveis x e y do lado esquerdo.

Operador de Comparação

== e === são usados para comparar a igualdade de dois valores.

Exemplo:

let a = 5;
let b = '5';
console.log(a == b); // Saída true
console.log(a === b); // Saída false

== ao realizar comparação de igualdade, realiza conversão de tipo, null == undefined resulta em true. === ao realizar comparação de igualdade, requer que valor e tipo sejam iguais, null === undefined resulta em false. NaN não é igual a nenhum valor, incluindo o próprio NaN.


++-- (Incremento, Decremento)

Em JavaScript, incremento (++) e decremento (--) são operadores usados para aumentar ou diminuir o valor de uma variável.

Operador de Incremento (++)

Após o uso, a variável original imediatamente aumenta 1. Pré-incremento retorna o valor após incremento (novo valor); Pós-incremento retorna o valor antes do incremento (valor antigo);

Exemplo de pré-incremento:

let a = 5;
// Pré-incremento, primeiro aumenta 1, depois usa o novo valor
let b = ++a;
console.log(b); // Saída 6
console.log(a); // Saída 6

Neste exemplo, a primeiro aumenta 1, depois b obtém o novo valor de a (6).

Exemplo de pós-incremento:

let x = 5;
// Pós-incremento, primeiro usa o valor atual, depois aumenta 1
let y = x++;
console.log(y); // Saída 5
console.log(x); // Saída 6

Neste exemplo, y primeiro obtém o valor atual de x (5), depois o valor de x aumenta 1.

Operador de Decremento (—)

Após o uso, a variável original imediatamente diminui 1. Pré-decremento retorna o valor após decremento (novo valor); Pós-decremento retorna o valor antes do decremento (valor antigo);

Exemplo de pré-decremento:

let p = 10;
// Pré-decremento, primeiro diminui 1, depois usa o novo valor
let q = --p;
console.log(q); // Saída 9
console.log(p); // Saída 9

Neste exemplo, p primeiro diminui 1, depois q obtém o novo valor de p (9).

Exemplo de pós-decremento:

let m = 8;
// Pós-decremento, primeiro usa o valor atual, depois diminui 1
let n = m--;
console.log(n); // Saída 8
console.log(m); // Saída 7

Neste exemplo, n primeiro obtém o valor atual de m (8), depois o valor de m diminui 1.

Precedência de Operadores:

https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Operators/Operator_precedence

Compartilhar:

Comentários