string.charAt
charAt() method๋ ํน์ ์ธ๋ฑ์ค์ ์์นํ ๋ฌธ์์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์ผ๋ก ํ๋์ UTF-16 ์ฝ๋๋ก ๊ตฌ์ฑ๋ ์ ๋ฌธ์์ด์ ๋ฐํํ๋ค.
const title = "The Phantom of The Opera - FULL STAGE SHOW";
const index = 4;
console.log(title.charAt(index)); // expected output: PSyntax
character = str.charAt(index)Parameters
index
0๊ณผ string์ length๋ณด๋ค -1์ธ ์ ์. ์ธ๋ฑ์ค๊ฐ ์ ๊ณต๋์ง ์์ผ๋ฉด default๊ฐ 0์ด ๋์ด ์ฒซ๋ฒ์งธ ๋ฌธ์๋ฅผ ๋ฐํํ๋ค.
Return value
์ง์ ๋ ์ธ๋ฑ์ค์์ ๋ฌธ์(์ ํํ ํ๋์ UTF-16์ฝ๋)๋ฅผ ๋ํ๋ด๋ ๋ฌธ์์ด์ด๋ค.
index ๋ฒ์๋ฅผ ๋ฒ์ด๋ ๊ฒฝ์ฐ ๋น ๋ฌธ์์ด
Examples
๋ฌธ์์ด ๋ด์ ๋ค๋ฅธ ์์น์ ์๋ ๋ฌธ์๋ค ์ถ๋ ฅํ๊ธฐ
์ ์ฒด๋ฌธ์ ์ป๊ธฐ
๋ฌธ์์ด์ ๊ธฐ๋ณธ ๋ค๊ตญ์ด ํ๋ฉด์ ์๋ ๋ฌธ์๊ฐ ํฌํจ ๋ ๊ฒฝ์ฐ์๋ ๋ฌธ์์ด ๋ฃจํ๋ฅผ ํต๊ณผํ ๋ ํญ์ ์ ์ฒด ๋ฌธ์๋ฅผ ์ ๊ณตํ๋๋ก ํ๋ ๋ฐฉ๋ฒ
๋น๊ตฌ์กฐํ ํ ๋น์ ์ฌ์ฉํ๋๊ฒ ๋ ๊ฐ๊ฒฐํ๊ณ , ๋ฌธ์๊ฐ surrogate pair๊ฐ ๋๋๊ฒ์ ํ์ฉํ ๋๋ ์ฆ๊ฐํด์ผ ํ๋ ๋ณ์๋ฅผ ์๋์ ์ผ๋ก ์ฆ๊ฐํ๊ธฐ์ ๋ ์ ์ฐํ๋ค.
https://ko.wikipedia.org/wiki/UTF-16 ๐ง
for๋ฌธ์ ๊ทธ๋ฅ ๋๋ฆฌ๋ฉด "๏ฟฝ"
์ด ๋ฌธ์์ ์ฌ์ค ํ์ 1๊ฐ์ธ๋ฐ "๏ฟฝ" X 2๊ฐ๊ฐ ๋์๋ค. Surrogate pair๋ ๋๊ฐ์ ์์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด๊ธฐ ๋๋ฌธ์ด๋ค.
UTF-16 ์ฝ๋๊ฐ 6๋ง 5์ฒ ๊ธ์๋ฅผ ๋์ด์๋ ๊ธ์๋ค์ ํํํ๊ธฐ ์ํด ๋์ ๋์๋๋ฐ..
Supplementary Characters๋ ์ ๋์ฝ๋์ 2๋ฐ์ดํธ ๊ธฐ๋ณธ ๋ฒ์์ ์ํ๋ BMP(Basic Multilingual Plane: Plane 0) ์์ญ์ ๋์ด์ ๊ธ์๋ค์ ๋งํ๊ณ Surrogate Pair๋ ์ด ๋ฒ์ฃผ์ ์ํ๋ Supplementary Characters๋ฅผ ํํํ๊ธฐ ์ํด UTF-16์ ๋์ ๋ ์ธ์ฝ๋ฉ ๋ฐฉ์์ด๋ค. 16๋นํธ ์ฝ๋ ๋๊ฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์ ํ๋๋ฅผ ํํํ ๊ฒ์ surrogate pair๋ผ๊ณ ํ๋ฉฐ high surrogate, low surrogate๋ก ์ด๋ฃจ์ด์ง
non-Basic-Multilingual-Plane ๋ฌธ์๋ค์ ์ง์ํ๋๋ก charAt() ๊ณ ์น๊ธฐ
charAt() ๊ณ ์น๊ธฐnon-BMP ๋ฌธ์๋ค์ ์ง์ํ๋ ์๋ ๐ ์ ์์ ๋ค์ด ๋ ์์ฃผ ์ฌ์ฉ๋์ง๋ง, ์ธ๋ฑ์ค๋ก ๋ฌธ์๋ฅผ ์ ํํ๋๋ฐ ์์ด์ ๋ฌธ์์ด ๋ด์ Surrogate Pair๊ฐ ํ๋์ ๋ฌธ์์ด๋ก ์ฒ๋ฆฌ๋๊ธธ ์ํ๋ค๋ฉด! ๐
Last updated
Was this helpful?