W JavaScript operator === oznacza ścisłą równość (strict equality). Taki operator porównuje jednocześnie:
- wartość (np. 5),
- typ danych (np. number vs string).
W zapisie 5 === '5' lewa strona jest liczbą (typ number), a prawa strona jest łańcuchem znaków (typ string). Ponieważ typy są różne, porównanie ścisłe daje wynik false – bez prób zamiany '5' na 5.
Instrukcja document.write(...) wypisuje do dokumentu HTML tekstową reprezentację wyniku, więc na stronie zobaczysz słowo false.
Dlaczego pozostałe odpowiedzi są błędne?
- true – byłoby prawdziwe tylko wtedy, gdyby porównanie uznało typy za zgodne albo wykonało konwersję. To zachowanie dotyczy raczej luźnej równości ==, nie ===.
- 1 – JavaScript nie zwraca 1/0 jako wyniku porównania; operatory równości zwracają wartości logiczne true albo false.
Wskazówka egzaminacyjna: gdy widzisz porównanie liczby i łańcucha, najpierw oceń typy. Jeśli użyto ===, różne typy niemal zawsze oznaczają wynik false (poza szczególnymi przypadkami jak NaN, które rządzi się własnymi regułami).