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
블로그 이미지

도로락

IT, 프로그래밍, 컴퓨터 활용 정보 등을 위한 블로그

,