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

Co zostanie wyświetlone po wykonaniu instrukcji JavaScript

document.write(5 == '5');
A. 0
B. false
C. true
D. 1
Wyświetlona zostanie wartość true. W wyrażeniu 5 == '5' użyto operatora porównania luźnego ==. W JavaScript taki operator przed porównaniem może wykonać konwersję typów. Łańcuch znaków '5' zostaje zamieniony na liczbę 5, więc porównanie ma sens taki jak 5 == 5, a jego wynikiem jest wartość logiczna true. Funkcja document.write wypisuje ten wynik w dokumencie strony jako tekst. Do zapamiętania: == porównuje wartości po ewentualnej konwersji typów, natomiast === porównuje wartość i typ bez takiej konwersji. W praktyce częstą pułapką są dane z formularzy, które przychodzą jako tekst, mimo że wyglądają jak liczby.
W tym przykładzie wynik nie jest liczbą, tylko wartością logiczną wypisaną przez document.write. 0 byłoby spotykane jako liczbowa reprezentacja fałszu w niektórych kontekstach lub językach, ale JavaScript przy wypisywaniu wyniku porównania pokazuje false albo true, a nie 0. 1 mogłoby oznaczać prawdę po konwersji wartości logicznej na liczbę, na przykład w działaniu arytmetycznym, jednak tutaj taka konwersja nie jest wykonywana na potrzeby wyświetlenia. false byłoby trafne przy porównaniu ścisłym 5 === '5', ponieważ liczba 5 i tekst '5' mają różne typy. W podanej instrukcji zastosowano jednak operator ==, czyli porównanie luźne. JavaScript zamienia tekst '5' na liczbę 5, dlatego porównanie daje true. Typowy błąd polega na pomyleniu operatora == z === albo na założeniu, że wartości logiczne zawsze są wyświetlane jako 1 i 0.

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.