
자바스크립트에서 문자열 인덱싱은 0부터 시작합니다. 따라서 'Hello' 문자열의 0 인덱스에는 'H'가 위치하고, 유니코드 값은 72입니다.
인덱스 0에 'H'가 위치하기 때문에, 'H'의 유니코드 값인 72가 출력되지 않고, 'H'가 아닌 다른 문자의 유니코드 값인 70이 출력되는 이유는 다음과 같습니다.
자바스크립트에서 문자열 인덱싱은 UTF-16 코드 단위로 처리됩니다. UTF-16 코드 단위는 2바이트로 구성되며, 0x00부터 0xFF까지의 코드는 1바이트로 처리됩니다.
UTF-16 코드 단위로 처리되기 때문에, 'H'의 유니코드 값인 72는 0x48로 표현됩니다. 0x48는 2바이트로 구성되며, 첫 번째 바이트는 0x48, 두 번째 바이트는 0x00입니다.
자바스크립트에서 문자열 인덱싱은 첫 번째 바이트를 기준으로 처리됩니다. 따라서 'Hello' 문자열의 0 인덱스에는 0x48(72)가 위치하고, 유니코드 값은 72입니다.
위의 코드에서 0 인덱스에 있는 'H'의 유니코드 값이 70이 아닌 72로 나온 이유는, 'H'의 유니코드 값이 72인 0x48(72)가 첫 번째 바이트로 처리된 때문입니다.
따라서, 위의 코드가 작동하려면 'Hello' 문자열의 0 인덱스에 있는 'H'의 유니코드 값인 72가 출력됩니다.
#hostingforum.kr
javascript
let str = 'Hello';
let index = 0;
console.log(str.charCodeAt(index)); // 결과는 72가 나옵니다.
위의 코드는 'Hello' 문자열의 0 인덱스에 있는 'H'의 유니코드 값인 72를 출력합니다.
2025-06-08 21:54