JavaScriptNapisy

String.prototype.charAt()

Zwraca znak spod podanego indeksu. Poza zakresem zwraca pusty napis zamiast undefined.

Zwraca
Napis z jednym znakiem (jednostką UTF-16) albo pusty napis "", gdy indeks jest poza zakresem.
Zmienia oryginał
Nie
Na tej stronie

Przykład

#
JavaScript
const course = 'Python'

console.log(course.charAt(0))
console.log(course.charAt(3))
console.log(course.charAt(10) === '')
console.log(course[10])
Konsola
P
h
true
undefined

Definicja i zastosowanie

#

Metoda charAt() zwraca jednoznakowy napis z podanej pozycji, licząc od 0. Bez argumentu zwraca pierwszy znak. To jedna z najstarszych metod napisów, działająca nawet w bardzo starych przeglądarkach.

Od nawiasów kwadratowych różni się zachowaniem poza zakresem: text.charAt(100) zwraca pusty napis "", a text[100] zwraca undefined. Indeksy ujemne nie są obsługiwane i również dają pusty napis, więc do liczenia od końca służy at().

Pusty napis jako wynik bywa wygodny, bo od razu możesz wywołać na nim kolejne metody, np. charAt(0).toUpperCase(), bez ryzyka błędu dla pustego tekstu. Metoda pracuje na jednostkach UTF-16, więc z emoji zwróci tylko połowę.

Składnia

#
Składnia
string.charAt()
string.charAt(index)

Parametry

#
  • index

    number, opcjonalny

    Pozycja znaku, od 0. Domyślnie 0. Wartość spoza zakresu daje pusty napis.

Więcej przykładów

#
Bezpieczna wielka pierwsza litera
JavaScript
function capitalize(text) {
  return text.charAt(0).toUpperCase() + text.slice(1)
}

console.log(capitalize('ćwiczenie'))
console.log(capitalize('').length)
Konsola
Ćwiczenie
0

Dla pustego napisu text[0] dałoby undefined, a wywołanie undefined.toUpperCase() rzuciłoby błąd. charAt(0) zwraca "", więc funkcja działa zawsze.

Inicjały z imienia i nazwiska
JavaScript
const fullName = 'Anna Kowalska'
const initials = fullName
  .split(' ')
  .map((part) => part.charAt(0))
  .join('')

console.log(initials)
Konsola
AK

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

#
  • W nowym kodzie do pojedynczych znaków częściej używa się text[i] albo at(i). charAt() wybierz, gdy poza zakresem wolisz dostać "" zamiast undefined.
  • Kod liczbowy znaku, np. do sprawdzenia, czy to cyfra, zwracają charCodeAt() i codePointAt().

Powiązane hasła

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.