JavaScript의 모듈로 연산자(%)

Harshit Jindal 2023년10월12일
  1. JavaScript의 나머지 연산자%
  2. JavaScript에서 나머지 연산자%사용의 예
  3. 응용
JavaScript의 모듈로 연산자(%)

이 튜토리얼은 JavaScript에서 모듈로 연산자%를 사용하는 방법을 설명합니다.

JavaScript의 나머지 연산자%

하나의 숫자(dividend)를 다른 숫자(divisor)로 나눌 때 남은 나머지를 제공합니다. 이 연산자는 다른 용도로 사용되기 때문에 다른 언어의모듈로연산자와 동일하지 않습니다. 결과는 양수 배당에 대해서만 동일하지만 음수 배당a가 있고 그 위에 모듈로 연산자가 적용되면 결과가 완전히 다릅니다. JavaScript에서 나머지 연산자를 사용하여( (a % n) + n) % n표현식으로 얻은 결과는a % n에서 모듈로 연산자를 사용하여 얻은 결과와 동일합니다.

JavaScript에서 나머지 연산자%사용의 예

양의 배당금이있는 모듈로

1 % -2   //  1
2 % 3    //  2
5.5 % 2  // 1.5
12 % 5   //  2
1 % 2    //  1

마이너스 배당금이있는 나머지

-12 % 5      // -2
    - 1 % 2  // -1
    - 4 % 2  // -0

NaN이있는 나머지

NaN % 2  // NaN

무한대를 가진 나머지

Infinity % 2         // NaN
Infinity % 0         // NaN
Infinity % Infinity  // NaN

응용

숫자가 홀수입니까, 짝수입니까?

정수가2로 나눌 수 있는지 확인하여 짝수인지 확인할 수 있습니다. 모듈로 연산자의 반환 값을 사용할 수 있습니다. 0이면 숫자가 짝수임을 의미합니다.

function isEven(n) {
  return n % 2 === 0;
}

isEven(6);  // true
isEven(3);  // false

숫자의 분수 부분

간단히n % 1을 계산하면됩니다.

function getFractionalPart(n) {
  return n % 1;
}

getFractionalPart(2.5);  // 0.5

분을 시간으로 변환

분 수를 나타내는 숫자n이 주어지고이를 시간과 분으로 변환하려는 경우 모듈로 연산자를 사용할 수 있습니다.

const minutesToHoursAndMinutes = n =>
    ({hours: Math.floor(n / 60), minutes: n % 60});

minutesToHoursAndMinutes(123);  // { hours: 2, minutes: 3 }
Harshit Jindal avatar Harshit Jindal avatar

Harshit Jindal has done his Bachelors in Computer Science Engineering(2021) from DTU. He has always been a problem solver and now turned that into his profession. Currently working at M365 Cloud Security team(Torus) on Cloud Security Services and Datacenter Buildout Automation.

LinkedIn

관련 문장 - JavaScript Operator