티스토리 뷰

var age = prompt('나이를 입력하세요:', 0)
console.log(parseInt(age))

 

위 입력창에 026 이렇게 입력을 하면 '26'이라고 출력이 됩니다. 원하는 기대값이 026 이었다면 당황 하실 수도 있습니다.

 

026이 26으로 나오는 이유를 알려드리겠습니다.

 

prompt()로 입력을 받으면 문자열(string)입니다.

var age = prompt('나이를 입력하세요:', 0)
console.log(typeof age)

위 코드 처럼 typeof을 이용하면 형(type)을 알 수 있습니다.

 

실제로는 다음과 같이 026 숫자가 들어가는 것이 아니라 '026' 이런 문자열이 들어갑니다.

 

parseInt('026')

그래서 문자열 '026'을 숫자로 parse했기 때문에 26이 나옵니다.

 

console.log(026)

그러면 ''를 빼고 026 이렇게만 출력을 하면 어떻게 나올까요? 결과는 22입니다.

숫자 앞에 0이 붙으면 8진수로 인식을 합니다.

 

010 --> 8

011 --> 9

로 인식 합니다.

 

 

end.

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함