# 숫자

자바스크립트에서는 숫자형이 하나만 있습니다. 내부적으로 숫자는 64비트 부동 소수점 형식을 지니며 이것은 자바의 double 형과 같습니다. 대부분의 다른 언어와 달리 자바스크립트에서는 정수와 실수의 구분이 없습니다. 즉 자바스크립트에서 1과 1.0은 같은 값 입니다.

console.log(1 === 1.0); // true

이러한 특성 때문에 자바스크립트는 매우 유연하며 short형을 사용해서 오버플로우가 발생할일이 없습니다. 기억해야하는 것은 숫자형 뿐이라는 것입니다.

만약 숫자 리터럴이 지수 부분을 포함하는 경우라면 e의 값에다가 e뒤의 값만큼 10을 제곱한 값의 곱이 됩니다.

console.log(100 === 1e2); // true
// e2 = 10^2 과 같다고 생각하면 됩니다.

음수를 표현하고 싶을 경우에는 숫자 앞에 -를 붙이면 됩니다. NaN의 경우에는 정상적인 값을 연산하지 못할 경우 얻는 값입니다. NaN인지 확인하려면 isNaN() 내장 함수를 이용하면 됩니다.

console.log(10 / undefined); // NaN

1.79769313486231570e308 보다 큰 값의 경우에는 Infinity로 나타냅니다.

console.log(1.7976931348623157e309); // Infinity