함정 시리즈

[JavaScript] BigInt와 Number의 비교 연산

노새두마리 2023. 12. 9. 19:37

 

0n == 0 → true
0n === 0 → false

요약

BigInt와 Number 사이에 엄격한 동치 연산자(===)를 사용하면 두 값의 타입이 일치하지 않으므로 false를 반환합니다.


BigInt

일반적으로 숫자의 값이 2^53 - 1보다 크거나 연산 과정에서 이보다 커질 가능성이 있는 경우 BigInt 자료형을 사용합니다.


비교 연산

BigInt 자료형 사이의 비교 연산

1n >= 0n // true
1n >= 1n // true
1n <= 0n // false

1n > 0n // true
1n < 0n // false

1n === 0n // false
1n === 1n // true

일반 Number 자료형의 비교 연산과 동일하게 사용할 수 있습니다.


BigInt 자료형과 Number 자료형 사이의 비교 연산

1n >= 0 // true
1n >= 1 // true
1n <= 0 // false

1n > 0 // true
1n < 0 // false

1n === 1 // false
1n == 1 // true

대소 비교 연산자는 Number의 경우와 동일하게 사용할 수 있습니다.

단, 값의 일치를 비교할 때, 엄격한 동치 연산자(===)를 사용하면 false를 반환합니다.

단순히 값을 비교하기 위해서는 느슨한 동치 연산자(==)를 사용하여야 합니다.


참고

https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Expressions_and_operators#%EB%B9%84%EA%B5%90_%EC%97%B0%EC%82%B0%EC%9E%90

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/BigInt#%EB%B9%84%EA%B5%90