String.fromCharCode()를 설명하기에 앞서
이해를 위해 charCodeAt() 메서드를 먼저 설명하겠습니다.
charCodeAt()메서드는 알파뱃을 아스키코드로 반환해주는 메서드입니다
var s = "ABCDE abcde";
for(var i = 0; i < s.length; i++){
var charNum = s[i].charCodeAt();
console.log(charNum);
}
65 - 90은 알파뱃 대문자 A - Z입니다.
97 - 122는 알파뱃 소문자 a - z입니다.
32는 공백" "
의 아스키코드입니다.
var s = "ABCDE abcde";
var text = '';
for(var i = 0; i < s.length; i++){
var charNum = s[i].charCodeAt();
console.log(charNum);
text += String.fromCharCode(charNum);
}
console.log(text);
이런식으로 String.fromCharCode(변환시킬숫자)
를 이용하면 아스키코드로 된 문자들을 알파뱃으로 변화시킬 수 있습니다.
var s = [65, 66, 67];
changeText = String.fromCharCode(s);
console.log(changeText);
이렇게 사용하면 오류메세지도 나오지 않고 아무것도 출력되지 않는 것을 볼 수 있습니다.
이는 String.fromCharCode() 메서드가 유니코드만을 받아서 출력하기 때문입니다.
이 경우 String.fromCharCode(s)는 s를 유니코드가 아닌 [65, 66, 67]로 인식하고
이에 대응하는 유니코드 문자가 없기에 아무것도 출력하지 않는 것입니다.
이 경우 전개 연산자...
를 사용하여 해결할 수 있습니다.
var s = [65, 66, 67];
changeText = String.fromCharCode(...s);
console.log(changeText); // ABC