W JavaScript do wydzielenia fragmentu napisu na podstawie granic określonych indeksami stosuje się metodę slice() dla łańcuchów znaków. Jej sens jest "wyciąć wycinek" z istniejącego napisu: podajesz indeks początku, a opcjonalnie indeks końca (zwykle jako granicę nie włączaną do wyniku). Wynikiem jest nowy napis, a oryginał pozostaje bez zmian, co jest typowe dla operacji na łańcuchach (niemutowalność).
Dlaczego pozostałe odpowiedzi nie pasują do opisu "fragment pomiędzy indeksami"?
- trim() działa na białych znakach (spacje, tabulatory, znaki nowej linii) i usuwa je z początku oraz końca napisu. Nie wybiera podciągu pomiędzy dowolnymi indeksami, tylko "czyści" brzegi.
- concat() służy do łączenia (konkatenacji) napisów. To operacja budowania dłuższego ciągu z kilku części, a nie wycinania środka na podstawie indeksów.
- replace() służy do zastępowania fragmentu napisu innym fragmentem (na podstawie dopasowania tekstu lub wyrażenia regularnego). Kryterium jest dopasowanie wzorca, a nie wskazanie zakresu indeksów, więc to inny mechanizm.
Wskazówka egzaminacyjna: gdy w treści pojawiają się słowa "indeks", "zakres", "pomiędzy pozycjami", zwykle chodzi o metody operujące na pozycjach w łańcuchu (np. slice/substring), a gdy pojawia się "zamiana" lub "wzorzec", częściej pasują metody typu replace.