JavaScript provides charAt
and charCodeAt
methods on strings.
- What is the difference between these two methods?
- When would one use on over the other?
JavaScript provides charAt
and charCodeAt
methods on strings.
From the MDN page on charAt
The
String
object'scharAt()
method returns a new string consisting of the single UTF-16 code unit located at the specified offset into the string.
From the MDN page on charCodeAt
:
The
charCodeAt()
method returns an integer between0
and65535
representing the UTF-16 code unit at the given index.The UTF-16 code unit matches the Unicode code point for code points which can be represented in a single UTF-16 code unit. If the Unicode code point cannot be represented in a single UTF-16 code unit (because its value is greater than
0xFFFF
) then the code unit returned will be the first part of a surrogate pair for the code point. If you want the entire code point value, usecodePointAt()
.
If you need the char as a string, call charAt
.
If, for some reason, you need the UTF char code, call charCodeAt
(You could use it to increment the character for example.)
var a = 'ABC.................Z';
a.charCodeAt(0); // will return 65
a.charAt(0); // will return 'A'