String.prototype.at()
BaselineWidely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.
Theat()
method ofString
values takes an integer value and returns a newString
consisting of the single UTF-16 code unit located at the specified offset. This method allows for positive and negative integers. Negative integers count back from the last string character.
Try it
const sentence = "The quick brown fox jumps over the lazy dog.";let index = 5;console.log(`An index of ${index} returns the character ${sentence.at(index)}`);// Expected output: "An index of 5 returns the character u"index = -4;console.log(`An index of ${index} returns the character ${sentence.at(index)}`);// Expected output: "An index of -4 returns the character d"
Syntax
at(index)
Parameters
index
The index (position) of the string character to be returned. Supports relative indexing from the end of the string when passed a negative index; i.e., if a negative number is used, the character returned will be found by counting back from the end of the string.
Return value
Examples
Return the last character of a string
The following example provides a function which returns the last character found in a specified string.
// A function which returns the last character of a given stringfunction returnLast(str) { return str.at(-1);}let invoiceRef = "my-invoice01";console.log(returnLast(invoiceRef)); // '1'invoiceRef = "my-invoice02";console.log(returnLast(invoiceRef)); // '2'
Comparing methods
Here we compare different ways to select the penultimate (last but one) character of aString
. Whilst all below methods are valid, it highlights the succinctness and readability of theat()
method.
const myString = "Every green bus drives fast.";// Using length property and charAt() methodconst lengthWay = myString.charAt(myString.length - 2);console.log(lengthWay); // 't'// Using slice() methodconst sliceWay = myString.slice(-2, -1);console.log(sliceWay); // 't'// Using at() methodconst atWay = myString.at(-2);console.log(atWay); // 't'
Specifications
Specification |
---|
ECMAScript® 2026 Language Specification # sec-string.prototype.at |