Operatory porównania, koniunkcja, alternatywa, konstrukcje if / else if / else oraz wczesne wyjście z funkcji.
Podejmowanie decyzji w programie opiera się na wyrażeniach warunkowych, które w wyniku dają wartość logiczną true lub false . W języku JavaScript stosujemy następujące operatory porównania:
function sprawdzUprawnienia() {
const wiek = parseInt(document.getElementById("poleWiek").value, 10);
const posiadaZgode = document.getElementById("poleZgoda").checked;
const wynik = document.getElementById("wynikDostepu");
if (wiek >= 18 || posiadaZgode) {
wynik.textContent = "Dostęp przyznany — warunki spełnione.";
wynik.style.color = "#15803d";
} else {
wynik.textContent = "Brak dostępu — wymagana pełnoletność lub zgoda.";
wynik.style.color = "#b91c1c";
}
}
function sprawdzUprawnienia() {
const wiek = parseInt(document.getElementById("poleWiek").value, 10);
const posiadaZgode = document.getElementById("poleZgoda").checked;
const wynik = document.getElementById("wynikDostepu");
if (wiek >= 18 || posiadaZgode) {
wynik.textContent = "Dostęp przyznany — warunki spełnione.";
wynik.style.color = "#15803d";
} else {
wynik.textContent = "Brak dostępu — wymagana pełnoletność lub zgoda.";
wynik.style.color = "#b91c1c";
}
}
Czym różni się operator ścisłej równości potrójnego znaku równości od operatora podwójnego znaku?
Poprawna: a) Operator === (strict equality) bada równość wartości bez niejawnej konwersji typów danych.
Gdy sytuacja wymaga sprawdzenia więcej niż dwóch możliwych wariantów (np. ustalenia progu rabatowego w sklepie, kategorii wiekowej lub taryfy przewozowej), stosujemy konstrukcję wielogałęziową if ... else if ... else .
function ustalRabat() {
const kwota = parseFloat(document.getElementById("wartoscKoszyka").value);
let stawkaRabatu = 0;
if (kwota >= 300) {
stawkaRabatu = 20;
} else if (kwota >= 100) {
stawkaRabatu = 10;
} else {
stawkaRabatu = 0;
}
const wynik = document.getElementById("wynikRabatu");
wynik.textContent = "Naliczony rabat wynosi: " + stawkaRabatu + "%";
}
function ustalRabat() {
const kwota = parseFloat(document.getElementById("wartoscKoszyka").value);
let stawkaRabatu = 0;
if (kwota >= 300) {
stawkaRabatu = 20;
} else if (kwota >= 100) {
stawkaRabatu = 10;
} else {
stawkaRabatu = 0;
}
const wynik = document.getElementById("wynikRabatu");
wynik.textContent = "Naliczony rabat wynosi: " + stawkaRabatu + "%";
}
Co dzieje się w konstrukcji if ... else if, gdy pierwszy warunek if okaże się prawdziwy?
Poprawna: d) Po spełnieniu pierwszego warunku w łańcuchu if/else if program wykonuje jego ciało i opuszcza całą strukturę.
Podczas obsługi formularzy internetowych często musimy sprawdzić, czy użytkownik spełnił wszystkie wymagania wstępne (np. wpisał imię, zaakceptował regulamin, wybrał przynajmniej jedną opcję), zanim przejdziemy do dalszych obliczeń lub…
function zatwierdzRejestracje() {
const imie = document.getElementById("pelneImie").value.trim();
const zgoda = document.getElementById("zgodaRegulamin").checked;
const komunikat = document.getElementById("komunikatRejestracji");
if (imie === "") {
komunikat.textContent = "Wprowadź imię i nazwisko.";
komunikat.style.color = "#b91c1c";
return;
}
if (!zgoda) {
komunikat.textContent = "Wymagana jest akceptacja regulaminu.";
komunikat.style.color = "#b91c1c";
return;
}
komunikat.textContent = "Zgłoszenie dla: " + imie + " zostało przyjęte.";
komunikat.style.color = "#15803d";
}
function zatwierdzRejestracje() {
const imie = document.getElementById("pelneImie").value.trim();
const zgoda = document.getElementById("zgodaRegulamin").checked;
const komunikat = document.getElementById("komunikatRejestracji");
if (imie === "") {
komunikat.textContent = "Wprowadź imię i nazwisko.";
komunikat.style.color = "#b91c1c";
return;
}
if (!zgoda) {
komunikat.textContent = "Wymagana jest akceptacja regulaminu.";
komunikat.style.color = "#b91c1c";
return;
}
komunikat.textContent = "Zgłoszenie dla: " + imie + " zostało przyjęte.";
komunikat.style.color = "#15803d";
}
Jakie działanie wywołuje instrukcja return umieszczona wewnątrz ciała funkcji?
Poprawna: c) Instrukcja return natychmiast kończy wykonanie bieżącej funkcji.