자바스크립트 Infinity

자바스크립트에서 Infinity는 무한대를 나타내는 값을 의미합니다. 이는 숫자 데이터 유형으로 사용되며, 계산이나 수학 연산에서 무한대를 표현하는 데 유용합니다. Infinity는 양의 무한대와 음의 무한대 두 가지 형태로 표현될 수 있습니다.

양의 무한대

양의 무한대는 어떤 값이 최대 수치보다 클 경우 발생합니다. 이는 예를 들어 다음과 같은 상황에서 발생할 수 있습니다.

let x = Infinity;
console.log(x); // Infinity

let y = 1 / 0;
console.log(y); // Infinity

let z = Number.MAX_VALUE + 1;
console.log(z); // Infinity

위의 예제에서 Infinity는 양의 무한대를 나타내고, Infinity1/0은 동일한 값을 출력합니다.

음의 무한대

음의 무한대는 어떤 값이 최소 수치보다 작을 경우 발생합니다. 이는 예를 들어 다음과 같은 상황에서 발생할 수 있습니다.

let x = -Infinity;
console.log(x); // -Infinity

let y = -1 / 0;
console.log(y); // -Infinity

let z = -Number.MAX_VALUE - 1;
console.log(z); // -Infinity

위의 예제에서 -Infinity는 음의 무한대를 나타내고, -Infinity-1/0은 동일한 값을 출력합니다.

Infinity의 연산

Infinity는 일반적인 숫자와 다르게 동작할 수 있습니다. 일부 연산에서는 Infinity와의 상호작용에 주의해야 합니다.

console.log(Infinity + 1); // Infinity
console.log(Infinity - 1); // Infinity
console.log(Infinity * Infinity); // Infinity
console.log(Infinity / 2); // Infinity
console.log(1 / Infinity); // 0
console.log(Math.sqrt(Infinity)); // Infinity

위의 예제에서는 덧셈, 뺄셈, 곱셈, 나눗셈, 제곱근 등의 연산에서 Infinity와의 결과가 다시 Infinity인 것을 확인할 수 있습니다.

하지만 양의 무한대와 음의 무한대의 연산 결과에 주의해야 합니다.

console.log(Infinity + -Infinity); // NaN
console.log(Infinity / Infinity); // NaN
console.log(Infinity * -Infinity); // -Infinity

위의 예제에서는 Infinity와 -Infinity 간의 덧셈과 나눗셈은 결과가 정의되지 않아 NaN(Not a Number)을 반환합니다. 그러나 Infinity와 -Infinity 간의 곱셈은 -Infinity를 반환합니다.

결론

자바스크립트에서 Infinity는 무한대를 나타내는 값입니다. 이는 수학적 연산이나 계산에서 유용하게 사용될 수 있습니다. 양의 무한대와 음의 무한대의 연산에 따른 결과는 주의가 필요하며, 상황에 따라 적절히 활용해야 합니다.