Reguła brzmi: dopłata (cena bazowa + 20%) obowiązuje tylko wtedy, gdy spełnione są jednocześnie dwa warunki:
- kolor jest niebieski lub zielony,
- pojemność wynosi 2 litry.
Dlatego poprawny zapis logiczny w JavaScript powinien mieć strukturę: (warunek_kolor) && (warunek_pojemność). Warunek koloru to alternatywa: kolor == 'niebieski' || kolor == 'zielony'. Warunek pojemności to porównanie liczby: pojemnosc == 2. Nawiasy są ważne, bo przy mieszaniu operatorów && i || obowiązuje pierwszeństwo: && wiąże mocniej niż ||. Bez nawiasów kod mógłby zostać zinterpretowany inaczej niż zamierzona reguła biznesowa.
Odpowiedź z zapisem (kolor == 'niebieski' || kolor == 'zielony') && pojemnosc == 2 spełnia te wymagania: używa porównania (==), właściwych operatorów logicznych oraz grupowania.
Pozostałe propozycje są błędne z typowych powodów:
- Użycie = zamiast == to przypisanie, a nie sprawdzenie warunku; może zmieniać wartość zmiennej i prowadzić do nieoczekiwanych rezultatów.
- Zapis kolor == 'niebieski' && kolor == 'zielony' jest logicznie sprzeczny dla jednej zmiennej: nie może ona mieć dwóch różnych wartości naraz, więc warunek byłby zawsze fałszywy.
- Łączenie warunków bez poprawnego porównania i z błędnymi operatorami miesza semantykę (przypisania, OR/AND) i nie odzwierciedla opisanej reguły.
W praktyce takie wyrażenia stosuje się w instrukcjach if do naliczania dopłat, promocji oraz walidacji danych w aplikacjach internetowych.