Zadanie 40 z arkusza E.14, styczeń 2017

JavaScript Poziom: średnie

W ramce przedstawiono kod JavaScript z błędem logicznym. Program powinien wypisywać informację, czy liczby są sobie równe czy nie, lecz nie wykonuje tego. Wskaż odpowiedź, która dotyczy błędu.

var x = 5;
var y = 3;
if (x = y) document.getElementById("demo").innerHTML = 'zmienne są równe';
else document.getElementById("demo").innerHTML = 'zmienne się różnią';
Wybierz odpowiedź

Cały arkusz E.14, styczeń 2017

Pokaż odpowiedź i wyjaśnienie

Poprawna odpowiedź: C

W klauzuli if występuje przypisanie zamiast porównania.

Dlaczego

x = y przypisuje x wartość 3, a 3 jest prawdą, więc zawsze wypisze „zmienne są równe”. Porównanie zapisuje się == lub ===.