Operador JavaScript restante

Resumo : neste tutorial, você aprenderá sobre o operador de resto do JavaScript ( %) para obter o resto de um número dividido por outro número.

Introdução ao operador restante do JavaScript

JavaScript usa the %para representar o operador restante. O operador resto retorna o resto que sobra quando um valor é dividido por outro valor.

Aqui está a sintaxe do operador restante:

dividend % divisor

O seguinte mostra a equação para o restante:

dividend = divisor * quotient + remainder
where |remainder| < |divisor|

Nesta equação, dividend, divisor, quotiente remaindersão todos números inteiros. O sinal do remainderé igual ao sinal do dividend.

O sinal do remainderé igual ao sinal do dividend.

Exemplos de operadores de restante JavaScript

Vejamos alguns exemplos de uso do operador restante do JavaScript.

1) Usando o operador resto com um exemplo de dividendo positivo

O exemplo a seguir mostra como usar o operador resto com um dividendo positivo:

let remainder = 5 % -2;
console.log(remainder); // 1

remainder = 5 % 2;
console.log(remainder); // 1Linguagem de código:  JavaScript  ( javascript )

2) Usando o operador resto com um exemplo de dividendo negativo

O exemplo a seguir usa o operador resto com um dividendo negativo:

let remainder = -5 % 3;
console.log(remainder); // -2

remainder = -5 % -3;
console.log(remainder); // -2Linguagem de código:  JavaScript  ( javascript )

3) Usando os valores especiais do operador restante

Se um dividendo for an Infinitye um divisor for um número finito, o resto será NaN. Por exemplo:

let remainder = Infinity % 2;
console.log(remainder); // NaNLinguagem de código:  JavaScript  ( javascript )

Se um dividendo é um número finito e um divisor é zero, o resto é NaN:

let remainder = 10 % 0;
console.log(remainder); // NaNLinguagem de código:  JavaScript  ( javascript )

Se o dividendo e o divisor forem Infinity, o resto será NaN:

let remainder = Infinity % Infinity;
console.log(remainder); // NaNLinguagem de código:  JavaScript  ( javascript )

Se um dividendo for um número finito e o divisor for um Infinity, o resto é o dividendo. Por exemplo:

let remainder = 10 % Infinity;
console.log(remainder); // 10Linguagem de código:  JavaScript  ( javascript )

Se o dividendo for zero e o divisor for diferente de zero, o resto será zero:

let remainder = 0 % 10;
console.log(remainder); // 0Linguagem de código:  JavaScript  ( javascript )

Se o dividendo ou o divisor não for um número, ele será convertido em um número usando a Number()função e aplicadas as regras acima. Por exemplo:

let remainder = '10' % 3;
console.log(remainder); // 1Linguagem de código:  JavaScript  ( javascript )

Usando o operador de resto para verificar se um número é ímpar

Para verificar se um número é ímpar, você usa o operador de resto ( %) como no exemplo a seguir:

let num = 13;
let isOdd = num % 2;Linguagem de código:  JavaScript  ( javascript )

Neste exemplo, se numfor um número ímpar, o resto será um. Mas se numfor um número par, o resto é zero.

Posteriormente, você aprenderá como definir uma função que retorna truese um número for ímpar ou falsealgo assim:

function isOdd(num) {
  return num % 2;
}Linguagem de código:  JavaScript  ( javascript )

Ou usando uma função de seta no ES6 :

const isOdd = (num) => num % 2;Linguagem de código:  JavaScript  ( javascript )

Operador Restante vs Módulo

Em JavaScript, o operador restante (%) não é o operador módulo.

Se você trabalha com Python, pode descobrir que %representa o operador módulo nesta linguagem. No entanto, este não é o caso em JavaScript.

Para obter um módulo em JavaScript, você usa a seguinte expressão:

((dividend % divisor) + divisor) % divisor

Ou envolva-o em uma função:

const mod = (dividend, divisor) => ((dividend % divisor) + divisor) % divisor;Linguagem de código:  JavaScript  ( javascript )

Se a divisão e o divisor tiverem o mesmo sinal, os operadores de resto e módulo retornarão o mesmo resultado. Caso contrário, eles retornam resultados diferentes.

Por exemplo:

const mod = (dividend, divisor) => ((dividend % divisor) + divisor) % divisor;

// dividen and divisor have the same sign
console.log('remainder:', 5 % 3); // 2
console.log('modulo:', mod(5, 3)); // 2

// dividen and divisor have the different signs
console.log('remainder:', -5 % 3); // -2
console.log('modulo:', mod(-5, 3)); // 1
Linguagem de código:  JavaScript  ( javascript )

Saída:

remainder: 2
modulo: 2
remainder: -2
modulo: 1Linguagem de código:  HTTP  ( http )

Resumo

  • Use o operador restante do JavaScript ( %) para obter o restante de um valor dividido por outro valor.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *