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

W formularzu wartość z pola input o typie number jest odczytywana w skrypcie JavaScript w poniższy sposób. Jakiego typu będzie zmienna a?

var a = document.getElementById('ile').value;
A. NaN
B. liczbowego, całkowitego
C. napisowego
D. logicznego
Poprawna odpowiedź to napisowego. Właściwość .value elementu formularza w DOM zwraca wartość pola jako ciąg znaków, czyli typ string, nawet wtedy, gdy w HTML pole ma type="number". Atrybut type="number" wpływa głównie na sposób wprowadzania danych w przeglądarce, walidację i interfejs użytkownika, ale samo odczytanie przez .value nie wykonuje automatycznej konwersji na liczbę. Jeśli użytkownik wpisze 25, zmienna a będzie miała wartość "25", a nie liczbę 25. Do obliczeń trzeba użyć konwersji, np. Number(a), parseInt(a, 10), parseFloat(a) albo właściwości valueAsNumber. Typowa pułapka polega na dodawaniu wartości z pól formularza: "2" + "3" daje "23", a nie 5.
W tym fragmencie najważniejsza jest właściwość .value, a nie sam atrybut type="number" w HTML. Poprawna odpowiedź to napisowego, ponieważ odczyt przez .value zwraca tekst wpisany w polu formularza jako string. Odpowiedź liczbowego, całkowitego byłaby trafna dopiero po jawnej konwersji, na przykład przez parseInt(a, 10), albo przy użyciu valueAsNumber, jeśli przeglądarka może odczytać poprawną liczbę. Sam JavaScript nie zamienia automatycznie wyniku .value na typ liczbowy. NaN nie oznacza typu pola formularza; jest to specjalna wartość typu number, pojawiająca się zwykle po nieudanej konwersji, na przykład Number("abc"). Odpowiedź logicznego dotyczy wartości true albo false, typowych dla porównań, warunków lub właściwości checked w polach wyboru, a nie dla .value zwykłego pola input. Typowy błąd myślowy polega na utożsamieniu typu kontrolki HTML z typem danych otrzymywanym w skrypcie JavaScript.

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.