JS: String.prototype.at (Extract Char at Index)
(new in ECMAScript 2022)
str.at(index)-
Extract the character at index.
- Index can be negative, means count from right.
- Out of bound index return undefined.
🛑 WARNING: string methods do not work the way you think if it contains characters outside of Unicode Basic Multilingual Plane (e.g. emoji 🦋.). See JS: String Index Code Unit
console.log("abc".at(0)); // a console.log("abc".at(1)); // b console.log("abc".at(-1)); // c // out of bound index return undefined console.log("abcd".at(9) === undefined); /* does not work if string contains unicode character outside basic multilingual plane (e.g. emoji) */ console.log("🦋".at(0)); // � /* 🦋 Name: BUTTERFLY ID 129419 HEXD 1F98B UTF8 F0 9F A6 8B UTF16 D83E DD8B */
Why String.prototype.at
String.prototype.at
is a improved version of
String.prototype.charAt.
the new version supports negative index.
JavaScript. String, Char, Encoding, Hexadecimal
- JS: String Index Code Unit
- JS: Convert Decimal, Hexadecimal
- JS: String.prototype.codePointAt (Char to Char ID) ❌
- JS: String.fromCodePoint (Char ID to Char)
- JS: Char to UTF-8 Encoding 📜
- JS: Char to UTF-16 Encoding 📜
- JS: String.prototype.charCodeAt (Char to Char ID) ❌
- JS: String.prototype.charAt (Extract Char at Index) ❌
- JS: String.prototype.at (Extract Char at Index)
- JS: String.fromCharCode (Char ID to Char) ❌
JS String.prototype
- JS: String.prototype.constructor
- JS: String.prototype.length
- JS: String.prototype.at (Extract Char at Index)
- JS: String.fromCharCode (Char ID to Char) ❌
- JS: String.prototype.concat
- JS: String.prototype.repeat
- JS: String.prototype.trim
- JS: String.prototype.trimStart
- JS: String.prototype.trimEnd
- JS: String.prototype.padStart
- JS: String.prototype.padEnd
- JS: String.prototype.slice
- JS: String.prototype.substring ❌
- JS: String.prototype.substr
- JS: String.prototype.indexOf
- JS: String.prototype.lastIndexOf
- JS: String.prototype.includes
- JS: String.prototype.startsWith
- JS: String.prototype.endsWith
- JS: String.prototype.search
- JS: String.prototype.match
- JS: String.prototype.matchAll
- JS: String.prototype.replace
- JS: String.prototype.split
- JS: String.prototype.toLowerCase
- JS: String.prototype.charAt (Extract Char at Index) ❌
- JS: String.prototype.charCodeAt (Char to Char ID) ❌
- JS: String.prototype.codePointAt (Char to Char ID) ❌