Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 값이 안전한 정수(Safe Integer)인지 확인하는 방법

안전한 정수(Safe Integer)란?

안전한 정수는 IEEE-754 배정밀도 부동소수점 숫자로 오차 없이 정확하게 표현할 수 있는 정수를 의미합니다. JavaScript에서 안전한 정수의 범위는 -(2⁵³ - 1)부터 (2⁵³ - 1), 즉 -9007199254740991부터 9007199254740991까지입니다.

이 범위를 벗어나는 정수는 연산 과정에서 정확성이 보장되지 않으므로, 특히 큰 숫자를 다룰 때는 값이 안전한 정수인지 반드시 확인해야 합니다.

Number.isSafeInteger() 메서드 사용하기

JavaScript에서 값이 안전한 정수인지 확인하려면 Number.isSafeInteger() 메서드를 사용하세요. 이 메서드는 전달된 값이 안전한 정수이면 true를, 그렇지 않으면 false를 반환합니다.

예제 코드

<!DOCTYPE html>
<html>
  <body>
    <script>
      document.write("Checking for Safe Integer...");
      document.write("<br>"+Number.isSafeInteger(765));
      document.write("<br>"+Number.isSafeInteger(-765));
      document.write("<br>"+Number.isSafeInteger('765'));
      document.write("<br>"+Number.isSafeInteger(false));
      document.write(Number.isSafeInteger(Math.pow(2, 53) - 1));
    </script>
  </body>
</html>

실행 결과

  • Number.isSafeInteger(765)true (양의 안전한 정수)
  • Number.isSafeInteger(-765)true (음의 안전한 정수)
  • Number.isSafeInteger('765')false (숫자가 아닌 문자열)
  • Number.isSafeInteger(false)false (불리언 값)
  • Number.isSafeInteger(Math.pow(2, 53) - 1)true (안전한 정수의 최댓값)

정리

Number.isSafeInteger()는 숫자 타입 여부와 안전한 정수 범위 내에 있는지를 동시에 검사합니다. 따라서 숫자형 데이터의 신뢰성을 검증할 때 유용하게 활용할 수 있습니다. 참고로 안전한 정수의 최댓값과 최솟값은 각각 Number.MAX_SAFE_INTEGERNumber.MIN_SAFE_INTEGER 상수로도 확인할 수 있습니다.