[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을 처리할 때, 숫자 패턴에 매칭되지 않도록 유의해야 합니다. 예를 들어, NaN
과 Infinity
문자열을 찾고자 할 때는 다음과 같이 처리할 수 있습니다.
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