Infinity란 무엇인가?

2020년 04월 07일
오늘 소개할 내용은 Infinity에 대한 내용이다.
이름에서 알 수 있듯이 무한을 의미하는 숫자 값이다.
간단한 속성을 먼저 알아보도록 하자.
typeof Infinity; // "number" typeof Infinity === typeof 1; // true
위에서 알 수 있듯이 Infinity는 유효한 숫자 값이다.
isFinite는 해당 숫자가 유한수인지를 판별하는 함수로, Infinity 혹은 NaN이 들어가게되면 false를 반환한다.
이 함수를 이용하여 해당 값이 Infinity인지 확인할 수 있다.
isFinite(Infinity); // false isFinite(1); // true isFinite(0); // true isFinite(-1); // true
 
그리고 Infinity를 연산하게 된다면 재밌는 결과를 볼 수 있다.
Infinity + 10; // Infinity Infinity + Infinity; // Infinity Infinity * 10; // Infinity Infinity * Infinity; // Infinity Infinity - 10; // Infinity Infinity - Infinity; // NaN Infinity / 10; // Infinity Infinity / Infinity; // NaN
이처럼 Infinity와 유한수를 연산하게 될 경우 문제가 되지 않지만,
Infinity와 Infinity를 빼거나 더하면 NaN을 반환하게 된다.
 
-Infinity < 0; // true Infinity > 0; // true
또한 마이너스 부호를 사용하여 음수의 Infinity를 표현할 수 있다.
 
필자는 Infinity를 아래와 같이 사용하고 있다.
const socket = socketIOClient(socketUrl, { jsonp: false, reconnection: true, reconnectionDelay: 1000, reconnectionAttempts: Infinity, // 횟수에 상관 없이 계속 시도하게 된다. transports: ['websocket'], autoConnect: true, });