String.charAt() Character at an index
Last updated: 2026-09-09
String.charAt() Character at an index
charAt returns the UTF-16 code unit at the given zero-based index, or an empty string when out of range.
| Category | Strings |
|---|---|
| ES version | ES1 |
📝 Syntax
const char = str.charAt(index);
⚙️ Parameters
| index | Optional. Zero-based index; out-of-range returns ''. |
|---|
Returns:A single-character string, or '' when out of range.
Mutates the original:No (returns a new value)
▶ Example
Edit the code, press Run, and see the result in the output panel:
Output:
H
o
undefined
💡 Tip str[0] and charAt(0) differ only out of range.
ℹ️ info charAt reads UTF-16 code units — astral emoji split in half; use [...str].
🌐 Browser support
| Browser | |||||
|---|---|---|---|---|---|
| String.charAt() | ✓ v1 | ✓ v12 | ✓ v1 | ✓ v1 | ✓ v1 |
| Supported by all modern browsers | |||||
🏷️ Related Items
💡 Related Cases
More case studies coming soon — check back later.
📚 Related Tutorials
❓ FAQ
QcharAt vs str[0]?
AOnly out-of-range differs: charAt(9) gives empty string while str[9] gives undefined.
QDoes charAt handle emoji?
AAstral emoji are two code units — charAt splits them. Use [...str] or codePointAt.
QCan charAt modify a character?
ANo — strings are immutable. Use replace or split/join to modify.