String. prototype. at()
Zwraca znak spod podanego indeksu. Ujemne indeksy liczą się od końca, więc at(-1) to ostatni znak.
- Zwraca
- Napis z jednym znakiem (jednostką UTF-16) albo
undefined, gdy indeks wykracza poza napis. - Zmienia oryginał
- Nie
Przykład
#const word = 'Kosmos'
console.log(word.at(0))
console.log(word.at(-1))
console.log(word.at(-2))
console.log(word.at(10))Definicja i zastosowanie
#Metoda at() zwraca jednoznakowy napis spod wskazanej pozycji. Dla indeksów dodatnich działa jak nawiasy kwadratowe, ale dodatkowo rozumie indeksy ujemne: -1 to ostatni znak, -2 przedostatni i tak dalej.
Dzięki temu zamiast text[text.length - 1] wystarczy text.at(-1). Gdy indeks wypada poza napisem, metoda zwraca undefined. Ułamki są ucinane w stronę zera.
Tak jak inne metody oparte na indeksach, at() pracuje na jednostkach UTF-16. Dla emoji zajmujących dwie jednostki zwróci tylko połowę znaku, więc wtedy lepiej użyć [...text].at(-1).
Składnia
#string.at(index)Parametry
#index
number
Pozycja znaku.0to pierwszy znak, a wartości ujemne liczą się od końca (-1to ostatni).
Więcej przykładów
#const code = 'CSS'
console.log(code.at(-1))
console.log(code[-1])
console.log(code[code.length - 1])
console.log(code.charAt(-1) === '')function ensureDot(sentence) {
return sentence.at(-1) === '.' ? sentence : sentence + '.'
}
console.log(ensureDot('Lekcja ukończona'))
console.log(ensureDot('Moduł zaliczony.'))Obsługa przeglądarek
#Szeroko dostępne
Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.
- Chrome
- Edge
- Firefox
- Safari
Dobre praktyki
#at()zwraca jeden znak. Do pobrania kilku ostatnich znaków użyjslice(-3).- Zapis
text[-1]nie liczy od końca, tylko szuka właściwości o nazwie „-1”, więc zwracaundefined. Do indeksów ujemnych zawsze używajat().
Powiązane hasła
#- String.prototype.charAt()Zwraca znak spod podanego indeksu. Poza zakresem zwraca pusty napis zamiast undefined.
- String.prototype.slice()Zwraca fragment napisu od indeksu początkowego do końcowego (bez niego). Obsługuje indeksy ujemne.
- String.prototype.lengthDługość napisu, czyli liczba jednostek kodu UTF-16. Właściwość jest tylko do odczytu.
- Array.prototype.at()Zwraca element o podanym indeksie, także liczonym od końca.
Widzisz błąd albo brakuje przykładu? Napisz do nas.