Strona główna › Pytania INF.03 › Pytanie 2274
INF.03 · pytanie #2274
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. <pre class="code-block"> 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ą'; </pre>
- AZmienne zostały zadeklarowane w niewłaściwy sposób
- BZawartość sekcji if oraz else powinna być zamieniona miejscami
- CW klauzuli if użyto przypisania zamiast porównania
- DBrak średnika przed klauzulą else
Poprawna odpowiedź: C. W klauzuli if użyto przypisania zamiast porównania
Kliknij odpowiedź, którą uważasz za poprawną.
Wyjaśnienie
W analizowanym kodzie JavaScript występuje błąd związany z użyciem operatora przypisania zamiast operatora porównania w klauzuli if. W języku JavaScript do porównania dwóch wartości używa się operatora '===' lub '=='. Operator '=' to operator przypisania, który przypisuje wartość z prawej strony do zmiennej po lewej stronie. W kontekście warunków if, należy użyć operatora porównania, aby ocenić, czy dwie zmienne są równe. W poprawnej wersji kodu, linia if x = y powinna być zmieniona na if (x === y). Dodatkowo, warto pamiętać o umieszczeniu wartości porównawanych w nawiasach, co zwiększa czytelność i poprawność kodu. Przykład prawidłowego kodu to: 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ą'; }. Taki zapis zapewnia, że program poprawnie zidentyfikuje różnicę między zmiennymi x i y i odpowiednio wyświetli komunikat.
🤖 Wyjaśnienie generowane przez AI – weryfikuj w oficjalnych źródłach.