오늘 소개할 내용은 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, });