JavaScriptNapisy

String.prototype.substring()

Zwraca fragment napisu między dwoma indeksami. Ujemne wartości zamienia na 0, a odwrócone indeksy zamienia miejscami.

Zwraca
Nowy napis z fragmentem oryginału.
Zmienia oryginał
Nie
Na tej stronie

Przykład

#
JavaScript
const lesson = 'Lekcja 7: Pętle'

console.log(lesson.substring(0, 6))
console.log(lesson.substring(10))
Konsola
Lekcja
Pętle

Definicja i zastosowanie

#

Metoda substring() zwraca część napisu od indeksu indexStart do indexEnd, bez znaku spod indexEnd. Przy dodatnich argumentach podanych w dobrej kolejności działa dokładnie tak jak slice().

Różnice pojawiają się przy nietypowych argumentach. Wartości ujemne i NaN są traktowane jak 0, więc substring(-3) zwraca cały napis, a nie trzy ostatnie znaki. Gdy indexStart jest większy od indexEnd, metoda po cichu zamienia je miejscami.

Przez te niejawne poprawki łatwiej o trudne do wykrycia błędy, dlatego w nowym kodzie zwykle wybiera się slice(). substring() warto jednak znać, bo często pojawia się w starszym kodzie. Nie myl jej z przestarzałą metodą substr(), która jako drugi argument przyjmuje długość.

Składnia

#
Składnia
string.substring(indexStart)
string.substring(indexStart, indexEnd)

Parametry

#
  • indexStart

    number

    Indeks pierwszego znaku wyniku. Wartości ujemne i NaN są zamieniane na 0.
  • indexEnd

    number, opcjonalny

    Indeks, przed którym wynik się kończy. Domyślnie długość napisu. Jeśli jest mniejszy od indexStart, argumenty zostaną zamienione miejscami.

Więcej przykładów

#
Różnice względem slice()
JavaScript
const text = 'Programowanie'

console.log(text.substring(-4))
console.log(text.slice(-4))
console.log(text.substring(7, 3))
console.log(text.slice(7, 3).length)
Konsola
Programowanie
anie
gram
0
Tekst między nawiasami
JavaScript
const message = 'Gratulacje [Ania], ukończono moduł!'
const start = message.indexOf('[') + 1
const end = message.indexOf(']')

console.log(message.substring(start, end))
Konsola
Ania

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 wybieraj slice(). Obsługuje indeksy ujemne i nie zamienia argumentów po cichu, więc błędy łatwiej zauważyć.
  • Unikaj przestarzałej metody substr(start, length). Jej drugi argument oznacza długość, a nie indeks końcowy, co łatwo pomylić.

Powiązane hasła

#

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