[javascript] Infinity와 NaN의 정규표현식 처리 방법

자바스크립트에서는 Infinity와 NaN을 사용하여 숫자가 아닌 값 또는 무한대를 나타낼 수 있습니다. 이러한 값들은 특별한 값으로 취급되며, 정규표현식으로 패턴 매칭을 수행할 때 주의해야 합니다.

Infinity와 NaN 판별

먼저, Infinity와 NaN을 판별하는 방법은 다음과 같습니다.

const num = 10 / 0; // Infinity
const notANum = Math.sqrt(-1); // NaN

console.log(Number.isFinite(num)); // false
console.log(Number.isNaN(notANum)); // true

위 예제에서는 Number.isFinite()Number.isNaN() 메서드를 사용하여 Infinity와 NaN을 판별하고 있습니다.

정규표현식으로 처리

정규표현식으로 Infinity와 NaN을 처리할 때, 숫자 패턴에 매칭되지 않도록 유의해야 합니다. 예를 들어, NaNInfinity 문자열을 찾고자 할 때는 다음과 같이 처리할 수 있습니다.

const str = 'The result is NaN or Infinity';
const pattern = /NaN|Infinity/g;

console.log(str.match(pattern)); // ["NaN", "Infinity"]

이 예제에서는 | 기호를 사용하여 NaN 또는 Infinity 문자열을 찾을 수 있도록 정규표현식을 작성했습니다.

결론

Infinity와 NaN은 숫자가 아닌 특수한 값으로, 판별 및 정규표현식 처리 시에 주의가 필요합니다. 올바른 방법으로 처리하면 예기치 않은 오류를 방지할 수 있습니다.

참조: MDN web docs, MDN web docs