자바스크립트 질문드립니다!
조회수 488회
function getStr(num){
switch(typeof num){
case 'string' :
return num;
case 'boolean' :
return num.toString().toUpperCase();
case 'number' :
return num.toString(16);
default :
return num.toString();
}
}
document.writeln("getStr(11) :"+getStr("11")+"<br/>"); //getStr(11) :11
document.writeln("getStr(true) :"+getStr(true)+"<br/>"); //getStr(true) :TRUE
document.writeln("getStr(11) :"+getStr(11)+"<br/>"); //getStr(11) :b
document.writeln("getStr(new Date()) :"+getStr(new Date())+"<br/>");
//getStr(new Date()) :Fri Jan 31 2020 13:39:46 GMT+0900 (한국 표준시)
다른값들은 이해가 어느정도 되었는데 (document.writeln)3번째 라인 값이 왜 //getStr(11) :b 가 나오는게 이해가 안갑니다...ㅠㅠ
-
(•́ ✖ •̀)
알 수 없는 사용자
2 답변
-
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Number/toString
number.toString(radix);
코드상에서
radix
가16
이므로10진수인
11
의 16진수 표기인'b'
가 출력됩니다.- 아 그럼 10 = a, 11=b, 12=c, 13=d ~16까지 이렇게 출력이 되는걸까요? 알 수 없는 사용자 2020.1.31 15:29
- 문자로 표현되는 건 15(0xf)까지 입니다. 16까지 가지 않습니다. 16이 되면 자릿수가 증가(0x10)하겠죠. 콘솔에서 직접 해 보세요. 15 = 0xf = 0o17 = 0b1111, 16 = 0x10 = 0o20 = 0b10000 doodoji 2020.1.31 17:02
-
이런건 해당 메서드의 메뉴얼이나 API 문서를 찾아보는게 질문글 올리는것보다 빠릅니다.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Number/toString
장황하게 소스를 다 붙여넣는것보다:
(11).toString(16); // b
이게 왜 b냐고 작성하는게 낫지 않았을까요?
- 아직 자바스크립트이해도가 많이 부족해서 부분적으로 올리게되면 잘못된 질문으로 될까바서 전체로 올렸습니다..ㅜ 답ㅂ변 감사드립니다 알 수 없는 사용자 2020.1.31 15:19
댓글 입력