📕🐘 도로락 - 코끼리를 냉장고에 넣는 방법
JavaScript | 2017. 11. 13. 00:02

[자바스크립트] Infinity 와 NaN

Infinity 와 NaN

자바스크립트에서 InfinityNaN은 미리 정의된 변수입니다. Infinity는 양의 무한대이며 NaN은 숫자가 아닌 값(Not a Number)을 표현합니다. ECMA Script3까지는 이 변수들의 값을 수정할 수 있었지만 ES5부터 수정할 수 없는 읽기전용 상수로 바뀌었습니다.

Infinity

자바스크립트에서 표현할 수 있는 양의 수를 넘는 무한대를 나타내는 값입니다. 또는 어떤 수를 0으로 나누었을 때 나오는 값이기도 합니다. 3 / 0 // Infinity JavaC 같은 언어의 경우 어떤 수를 0으로 나누게 되면 예외가 발생하게 되지만 JavaScript에서는 Infinity로 나타내게 됩니다.

Infinity의 경우 양의 무한대를 뜻하고 -Infinity는 음의 무한대를 뜻합니다. 같은 원리로 어떤 수를 -0으로 나누어도 나오는 값입니다. 3 / -0 // -Infinity

관련 함수 및 속성

Number.POSITIVE_INFINITY    //Infinity Number객체의 상수
Number.NEGATIVE_INFINITY    //-Infinity Number객체의 상수
Infinity > 9999999999999    //true
-Infinity < -9999999999999  //true

//3000이 유한수이면 true NaN이거나 무한대면 false
isFinite(3000)    //true

NaN

자바스크립트에서 숫자가 아닌 값을 나타냅니다. NaN은 특이하게 자기 자신과 다른 값을 비교할 수 없습니다. 그렇기 때문에 숫자인지 아닌지는 inNaN() 함수를 사용하여 비교합니다.

관련 함수 및 속성

isNaN("hi")           //true 숫자가 아니면 true 숫자이면 false
isNaN(0 / 0)         //true
isNaN(false)         //false 불린형의 경우도 숫자로 간주 false는 0을 의미

parseFloat("hi")    //NaN
parseInt("hi")      //NaN
Number("hi")        //NaN

'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
도로락

도로락

Writer

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