String. prototype. length
Długość napisu, czyli liczba jednostek kodu UTF-16. Właściwość jest tylko do odczytu.
- Zwraca
- Nieujemną liczbę całkowitą: liczbę jednostek kodu UTF-16 w napisie.
- Zmienia oryginał
- Nie
Przykład
#const course = 'JavaScript'
const empty = ''
console.log(course.length)
console.log(empty.length)
console.log(course[course.length - 1])Definicja i zastosowanie
#Właściwość length podaje, z ilu znaków składa się napis. Pusty napis "" ma długość 0, a ostatni znak zawsze znajduje się pod indeksem length - 1. To nie metoda, więc piszesz ją bez nawiasów.
Dokładniej length liczy jednostki kodu UTF-16. Zwykłe litery, także polskie, zajmują jedną jednostkę, ale wiele emoji i rzadszych symboli zajmuje dwie, dlatego "👍".length to 2. Liczbę widocznych znaków lepiej sprawdzić przez [...text].length, choć przy emoji złożonych z kilku części (np. z kolorem skóry) nawet to nie wystarczy i przydaje się Intl.Segmenter.
Napisy są niezmienne, dlatego length jest tylko do odczytu. Nie skrócisz tekstu, przypisując mniejszą liczbę, a w trybie ścisłym dostaniesz wręcz błąd. Aby uciąć tekst, utwórz nowy napis przez slice().
Składnia
#string.lengthWięcej przykładów
#function validateNickname(nickname) {
const trimmed = nickname.trim()
if (trimmed.length < 3) return 'Za krótki nick'
if (trimmed.length > 16) return 'Za długi nick'
return 'OK'
}
console.log(validateNickname('Al'))
console.log(validateNickname(' KodowyWojownik '))
console.log(validateNickname('SuperProgramista2026'))const reaction = 'Super👍'
console.log(reaction.length)
console.log([...reaction].length)
console.log('żółć'.length)function truncate(text, max) {
return text.length > max ? text.slice(0, max - 3) + '...' : text
}
console.log(truncate('Wprowadzenie do programowania', 15))
console.log(truncate('HTML', 15))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
#- Przy limicie znaków, np. w polu opisu, pamiętaj, że emoji mogą liczyć się podwójnie. Jeśli limit dotyczy tego, co widzi użytkownik, licz przez
[...text].length. - Sprawdzając, czy pole jest puste, najpierw usuń spacje:
text.trim().length === 0.
Powiązane hasła
#- String.prototype.slice()Zwraca fragment napisu od indeksu początkowego do końcowego (bez niego). Obsługuje indeksy ujemne.
- String.prototype.at()Zwraca znak spod podanego indeksu. Ujemne indeksy liczą się od końca, więc at(-1) to ostatni znak.
- String.prototype.trim()Usuwa białe znaki z obu końców napisu: spacje, tabulatory i znaki nowej linii.
- String.prototype.padStart()Dopełnia napis z lewej strony podanym tekstem, aż osiągnie wskazaną długość. Idealne do zer wiodących.
- Array.prototype.lengthLiczba elementów w tablicy, którą można też zmieniać.
Widzisz błąd albo brakuje przykładu? Napisz do nas.