제로초 JAVASCRIPT 2-4 자료형 - 숫자 기본(parseInt, NaN)

Yumin Jung·2023년 7월 6일
0

제로초의 JAVASCRIPT

목록 보기
6/18

숫자

숫자는 따로 따옴표를 쓰지 않아도 된다.

소수점 나타내기

5e-4
결과 : 0.0005
5e3
결과 : 5000

진법

2진법

0b111
결과 : 7
2진법은 0b가 앞에 붙는다.

8진법

0111
결과 : 73
8진법은 0이 앞에 붙는다.

16진법

0x1a1
결과 : 417
16진법은 0x가 앞에 붙는다.

NaN의 정체

typeof을 이용해 NaN의 정체를 파악해보니,

typeof(NaN)
결과 : Number

Number가 나온다. 황당하게도, 2-3에서 문자열끼리 빼거나 곱하거나 나눴을때 NaN이 나왔다.
NaN은 Not a Number의 약자로, 숫자가 아니라고 했는데 어떻게 Number이지?

이런건 외워야 한다. 결론은 NaN은 공식적으로 Number이다.

parseInt

parse 는 분석하다 라는 의미로서, 그 뒤 Int로 분석한다라는 의미로 해석하면 된다.

그 말 즉, parseFloat는 Float형으로 분석한다는 의미이다.

초보 단계에서는 정확히 확인을 해야 한다. 감을 믿지 말자.

'123' + 5의 결과는 1235가 된다. 129가 나올 것 같지만 아니다. 왜냐하면, 문자열과 숫자의 합이기 때문이다.

다시 말하지만, '123'은 문자열 123이다. 숫자가 아니다. parseInt를 이용해 숫자로 바꿔보겠다.

parseInt('123')
결과 : 123
문자열 '123'이 숫자 123으로 바뀌었다.

typeof parseInt('123')
결과 : number

parseInt('123') + 5
결과 : 129

parseFloat

parseInt('3.14')
결과 : 3

parseFloat('3.14')
결과 : 3.14

parse 관련 추가

Number로도 parseInt 또는 ParseFloat의 역할을 할 수 있다. 하지만 두 개 각각의 기능이 완전히 똑같았다면, 하나로 통일 했을 것이다. 두 개의 기능은 다르다.

parseInt('3월')
결과 : 3

parse = 분석하다

최대한 분석하여 Int의 3을 출력했지만,

Number('3월')
결과 : NaN

Number는 숫자가 아닌게 있으니까 가차없이 NaN을 때린다.

parseInt('숫자', 2)

prompt

prompt는 문자열을 입력 받는 것이다.

숫자로 바꿔라 !

typeof parseInt(prompt());

실행했을때, 직접 입력하는 창이 뜬다.


여기에 입력해서 결과를 얻는 것이다.

profile
문과를 정말로 존중해

0개의 댓글