W języku JavaScript, aby wydzielić fragment napisu znajdujący się pomiędzy wskazanymi przez parametr indeksami, należy użyć metody
A. slice()
B. concat()
C. trim()
D. replace()
Pytanie z egzaminu CKE, czerwiec 2021 (arkusz EE.09-SG-21.06).
Metoda slice() jest właściwym wyborem, gdy w JavaScript chcesz wydzielić fragment napisu na podstawie indeksów. Działa ona na obiektach typu String i zwraca nowy napis, nie zmieniając oryginalnej wartości, co jest zgodne z dobrą praktyką pracy na niemutowalnych tekstach. Przykład: dla tekstu 'JavaScript' wywołanie tekst.slice(0, 4) zwróci 'Java'. Pierwszy argument oznacza indeks początkowy, a drugi indeks końcowy, ale znak spod indeksu końcowego nie jest już w wyniku. Czyli slice(2, 6) pobiera znaki od pozycji 2 do 5. To ważny szczegół, bo często przez niego pojawiają się błędy o jeden znak. Z mojego doświadczenia slice() jest bardzo przydatne przy obróbce danych z formularzy, skracaniu tekstów, wycinaniu fragmentów identyfikatorów, dat albo nazw plików. Można też używać indeksów ujemnych, np. nazwaPliku.slice(-3) pozwoli pobrać ostatnie 3 znaki, często rozszerzenie pliku. W praktyce webowej taka metoda jest normalnym, standardowym narzędziem do pracy z tekstem po stronie przeglądarki.
W tym pytaniu chodzi o metodę, która potrafi pobrać fragment tekstu znajdujący się między wskazanymi indeksami. Do tego służy slice(), a pozostałe metody mają inne zastosowania, choć na pierwszy rzut oka też dotyczą napisów. trim() usuwa białe znaki z początku i końca tekstu, na przykład spacje, tabulatory albo znaki nowej linii. Przydaje się przy czyszczeniu danych wpisanych w formularzu, ale nie pozwala wskazać zakresu indeksów, więc nie wytnie środka napisu. concat() służy do łączenia napisów, czyli np. imie.concat(' ', nazwisko). To operacja odwrotna do wydzielania fragmentu, bo buduje dłuższy tekst z kilku części. replace() zamienia wskazany fragment albo wzorzec na inny tekst, często z użyciem wyrażeń regularnych. Może wyglądać kusząco, bo też pracuje na kawałkach napisu, ale jego celem jest podmiana, a nie pobranie zakresu znaków według indeksów. Typowy błąd myślowy polega na kojarzeniu wszystkich metod tekstowych jako podobnych i wybieraniu tej, która „coś robi z tekstem”. W JavaScript warto patrzeć na sygnaturę metody i jej rezultat: slice(start, end) zwraca wycinek, trim() oczyszcza brzegi, concat() skleja, a replace() podmienia. Moim zdaniem najłatwiej zapamiętać to przez krótkie testy w konsoli przeglądarki, bo wtedy od razu widać, jaki napis zostaje zwrócony.