[JS] Infinity & NaN
[ Infinity ]
Infinity (Number.POSITIVE_INFINITY) _ 양의 무한대
-Infinity (Number.NEGATIVE_INFINITY) _ 음의 무한대
* Infinity가 나오는 경우
- number / 0
- Infinity 와 숫자 연산 ( +, -, *, / )
- Infinity 와 Infinity 연산
* 관련 메서드
- isFinite () (전역함수)
- Number.isFinite() (Number 객체 제공 함수)
=> 인자값이 유한하면 true , 무한하면 false 반환.
* isFinite() vs Number.isFinite()
isFinite() 는 값을 number로 변환 후 판별,
Number.isFinite() 는 값을 number로 변환 X, number가 아닌 값은 false 반환.

따라서, 문자열을 판별하면 위처럼 다른 결과가 나온다.
[ NaN ] (Not a Number)
- 숫자와 문자열 연산에서 발생
- infinity의 뺄셈, 나눗셈 연산에서 발생 ( number / 0 )
- 유효하지 않은 수학적 연산에서 발생
* 관련 메서드
- isNaN () (전역함수)
- Number.isNaN() (Number 객체 제공 함수)
=> 인자값이 숫자가 아니면(NaN이면) true 반환
* isNan() vs Number.isNaN()
isNaN () 는 값을 number로 변환 후 판별,
Number.isNaN ()는 값을 number로 변환 X, NaN인 값은 true 반환.

* (숫자 + 문자열) 덧셈연산 주의
덧셈연산자(+)는 이항연산자 / 단항연산자로 사용가능.
- 이항연산자 +
(숫자 + 문자열) => (문자열 + 문자열) 로 자동변환 후 연산


isNaN() 은 숫자로 변환 후 NaN를 판별하기 때문에
result 는 String이지만 isNaN( result ) 는 false를 반환.
- 단항연산자 +
(+문자열) => (숫자)로 변환

