본문 바로가기

카테고리 없음

Javascript 0이 왜 사라질까요?

728x90
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.

 

728x90
블로그 주인장입니다. 원하시는 정보는 얻으셨나요? 이 포스트에서 추가로 필요한 정보가 있으시면 여기에 남겨주세요.