String.prototype.charAt()
사용법
charAt()
함수는
인수로 전달된 문자열의 인덱스 위치에 해당하는 문자를 반환하는 함수입니다.
문자열에서 인덱스는 0
부터 시작합니다.
charAt()
함수는 문자열에서 원하는 위치의 문자를 쉽게 추출할 수 있습니다.
str.length
는 문자열의 길이를 반환합니다.
charAt()
함수의 형식은 다음과 같습니다.
구문
str
은 charAt()
함수를 적용할 대상 문자열입니다.
매개변수
index |
0 부터 시작하는 인덱스(정수)를 지정합니다.
생략하면 기본값으로 0 이 사용됩니다. |
---|
반환 값
index
에 해당하는 유니코드 단일문자를 반환합니다.
단, index
가 음수이거나 문자열의 범위를 벗어날 경우에는 빈 문자열(""
)을 반환합니다.
한글, 일본어, 등 다양한 언어의 문자를 추출할 수 있습니다.
charAt()
vs. 배열 표기법 ([]
, 문자열 인덱싱)
자바스크립트에서는 문자열을 배열처럼 인덱스로 접근할 수 있습니다.
예를 들어, str[0]
은 str.charAt(0)
과 동일한 결과를 반환합니다.
차이점으로
배열 표기법으로 접근할 경우, 인덱스가 범위를 벗어나면 undefined
를 반환하지만, charAt()
은 빈 문자열(""
)을 반환합니다.
주의할 점
이모지는 하나의 문자처럼 보이지만 두 개의 코드 유닛으로 표현됩니다.
charAt()
함수는 index
에 해당하는 유니코드 단일문자를 반환하기 때문에 예상과 다른 결과를 얻을 수 있습니다.
다음은 이모지가 포함되어 있는 문자열에 charAt()
함수를 사용했을 때의 문제점입니다.
여기서 charAt(4)
는 빈 문자열(""
)을 반환하고, charAt(5)
는 이모지의 잘린 코드 단위를 반환하여 정상적인 이모지가 출력되지 않을 수 있습니다.
이모지에 관해서는 웹 페이지에서 이모지(이모티콘) 사용하기를 참고하세요.
브라우저 호환성
메서드 |
데스크탑 Chrome
|
데스크탑데스크탑 Edge
|
데스크탑 Firefox
|
Safari
|
---|---|---|---|---|
charAt()
|
1 | 12 | 1 | 1 |
명세서
명세서 사양 | |
---|---|
charAt()
|
ECMAScript Language Specification #sec-string.prototype.charat |