Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Programowanie webowe Algorytmy i podstawy informatyki JavaScript

Słowa kluczowe: JavaScript Notacja kropkowa w JavaScript Typ string w JavaScript Właściwość length tekstu w JavaScript

Zamieszczony w ramce fragment skryptu w języku JavaScript

t="Ala ma kota.";
s=t.length;
A. wyświetli długość tekstu ze zmiennej t
Źle. Przypisanie niczego nie wyświetla; do tego potrzebne byłoby na przykład alert(s).
B. przypisze do zmiennej s zmienną t
Źle. Do s trafia wartość t.length, czyli liczba znaków, a nie sam tekst.
C. przypisze do zmiennej s fragment tekstu ze zmiennej t o długości określonej przez zmienną length
Źle. length to właściwość z długością tekstu; fragment zwraca substring().
D. przypisze zmiennej s długość tekstu ze zmiennej t
Dobrze. t.length zwraca długość tekstu (12 znaków), która trafia do zmiennej s.

Pytanie z egzaminu CKE, styczeń 2015 (arkusz E.14-X-15.01).

Zapis s=t.length; odczytuje właściwość length łańcucha zapisanego w zmiennej t i przypisuje wynik zmiennej s. Tekst "Ala ma kota." ma 12 znaków, bo liczą się też spacje i kropka, więc s przyjmie wartość 12.

length to właściwość, a nie metoda, dlatego pisze się ją bez nawiasów: t.length() zakończyłoby się błędem, bo liczby nie da się wywołać jak funkcji. Ta sama właściwość działa dla tablic i zwraca liczbę elementów. W praktyce używa się jej na przykład przy sprawdzaniu, czy hasło wpisane w formularzu ma odpowiednią długość: if (haslo.length < 8).

Wybór błędnej interpretacji zwykle wynika z niedokładnego odczytania prawej strony przypisania. Gdyby skrypt miał przypisać do s zmienną t, wystarczyłby zapis s=t;. Dopisek .length sprawia, że do s trafia nie tekst, tylko liczba.

Fragment nie wyświetla też niczego. Przypisanie tylko zapisuje wartość w pamięci, a do pokazania wyniku potrzebne byłoby na przykład alert(s), console.log(s) lub document.write(s).

Nie powstaje również fragment tekstu. length to wbudowana właściwość łańcucha, a nie zmienna określająca długość wycinka. Fragment napisu zwracają metody substring() lub slice(), na przykład t.substring(0, 3) daje „Ala”. Kod zapisuje więc w s długość tekstu, czyli 12.

Przy takich zadaniach warto czytać przypisanie od prawej strony: najpierw ustalić, jaką wartość daje wyrażenie, a dopiero potem, do której zmiennej ta wartość trafia.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.