Infinity 와 NaN
자바스크립트에서 Infinity와 NaN은 미리 정의된 변수입니다.
Infinity는 양의 무한대이며 NaN은 숫자가 아닌 값(Not a Number)을 표현합니다.
ECMA Script3 까지는 이 변수들의 값을 수정할 수 있었지만 ES5 부터 수정할 수 없는 읽기전용 상수로 바뀌었습니다.
Infinity
자바스크립트에서 표현할 수 있는 양의 수를 넘는 무한대를 나타내는 값입니다.
또는 어떤 수를 0으로 나누었을때 나오는 값이기도 합니다.
3 / 0 //Infinity
자바나 C같은 언어의 경우 어떤 수를 0으로 나누게 되면 예외가 발생하게 되지만 자바스크립트에서는 Infinity로 나타내게 됩니다.
Infinity의 경우 양의 무한대를 뜻하고 -Infinity는 음의 무한대를 뜻합니다.
같은 원리로 어떤 수를 -0으로 나누어도 나오는 값입니다.
3 / -0 //-Infinity
관련 함수 및 속성
1
2
3
4
5
6
7 |
Number.POSITIVE_INFINITY //Infinity Number객체의 상수
Number.NEGATIVE_INFINITY //-Infinity Number객체의 상수
Infinity > 9999999999999 //true
- Infinity < -9999999999999 //true
//3000이 유한수이면 true NaN이거나 무한대면 false
isFinite(3000) //true |
cs |
NaN
자바스크립트에서 숫자가 아닌 값을 나타냅니다.
NaN은 특이하게 자기 자신과 다른 값을 비교할 수 없습니다.
그렇기 때문에 숫자인지 아닌지는 inNaN() 함수를 사용하여 비교합니다.
관련 함수 및 속성
1
2
3
4
5
6
7 |
isNaN("hi") //true 숫자가 아니면 true 숫자이면 false
isNaN(0 / 0) //true
isNaN(false) //false 불린형의 경우도 숫자로 간주 false는 0을 의미
parseFloat("hi") //NaN
parseInt("hi") //NaN
Number("hi") //NaN |
cs |
'JavaScript' 카테고리의 다른 글
[자바스크립트] Date 객체 (0) | 2017.11.13 |
---|---|
[자바스크립트] Number 객체 (0) | 2017.11.13 |
[자바스크립트] String 객체 (0) | 2017.11.12 |
[jQuery] proxy 함수 (0) | 2017.11.12 |
[자바스크립트] arguments 객체 (0) | 2017.11.12 |