Node.js dla początkujących - Część 3: Instrukcje warunkowe i pętle
Mateusz Kędziora

Cześć! W dzisiejszym wpisie zanurzymy się w fundamentalne koncepcje programowania w JavaScript: instrukcje warunkowe i pętle. To one pozwalają naszym programom podejmować decyzje i powtarzać czynności, czyniąc je dynamicznymi i interaktywnymi. Gotowi na małą dawkę logiki? Zaczynamy!
Instrukcje Warunkowe: Decyzje w Kodzie
Wyobraź sobie, że Twój program musi zareagować inaczej w zależności od sytuacji. Wtedy wkraczają instrukcje warunkowe.
if: Najprostsza forma. Wykonuje kod tylko wtedy, gdy warunek jest prawdziwy (true).
let wiek = 20;
if (wiek >= 18) {
console.log("Jesteś pełnoletni!"); // Wykona się, bo wiek to 20
}else: Uzupełnienieif. Wykonuje kod, gdy warunek wifjest fałszywy (false).
let wiek = 15;
if (wiek >= 18) {
console.log("Jesteś pełnoletni!");
} else {
console.log("Jesteś niepełnoletni!"); // Wykona się, bo wiek to 15
}else if: Pozwala na sprawdzenie wielu warunków po kolei.
let wynik = 75;
if (wynik >= 90) {
console.log("Ocena: A");
} else if (wynik >= 70) {
console.log("Ocena: B"); // Wykona się, bo wynik to 75
} else if (wynik >= 50) {
console.log("Ocena: C");
} else {
console.log("Ocena: F");
}switch: Alternatywa dla wieluelse if, szczególnie przydatna, gdy sprawdzamy jedną zmienną pod kątem wielu wartości.
let dzienTygodnia = 3;
switch (dzienTygodnia) {
case 1:
console.log("Poniedziałek");
break;
case 2:
console.log("Wtorek");
break;
case 3:
console.log("Środa"); // Wykona się
break;
default:
console.log("Nieznany dzień");
}Pamiętaj o break! Bez niego program wykonałby również instrukcje dla kolejnych case.
Pętle: Powtarzanie to Podstawa
Pętle pozwalają nam na wielokrotne wykonywanie tego samego bloku kodu.
for: Najczęściej używana pętla. Idealna, gdy znamy liczbę iteracji.
for (let i = 0; i < 5; i++) {
console.log("Iteracja nr " + i); // Wykona się 5 razy (od 0 do 4)
}while: Wykonuje kod dopóki warunek jest prawdziwy.
let licznik = 0;
while (licznik < 3) {
console.log("Licznik: " + licznik);
licznik++; // Pamiętaj o inkrementacji, inaczej pętla będzie nieskończona!
}do...while: Podobna dowhile, ale kod wykona się przynajmniej raz, nawet jeśli warunek jest od początku fałszywy.
let x = 10;
do {
console.log("X: " + x); // Wykona się raz, mimo że x > 5
x++;
} while (x < 5);Wyrażenia Warunkowe: Jeszcze Więcej Sposobów na Decyzje
Oprócz podstawowych instrukcji if, else if, else i switch, warto poznać kilka dodatkowych aspektów związanych z wyrażeniami warunkowymi:
- Operator warunkowy (ternary): To skrócony zapis instrukcji
if...else. Ma postaćwarunek ? wartość_jeśli_prawda : wartość_jeśli_fałsz.
let wiek = 19;
let status = wiek >= 18 ? "Pełnoletni" : "Niepełnoletni";
console.log(status); // Wypisze "Pełnoletni"
//To jest równoważne:
if (wiek >= 18) {
status = "Pełnoletni";
} else {
status = "Niepełnoletni";
}Operator ternary jest bardzo przydatny do krótkich, jednowierszowych warunków. Unikaj jednak zagnieżdżania wielu operatorów ternary, ponieważ kod może stać się trudny do odczytania.
Wartości truthy i falsy: W JavaScript, wartości nie-booleanowskie mogą być interpretowane jako
truelubfalsew kontekście warunkowym.- Falsy:
false,0,""(pusty string),null,undefined,NaN. - Truthy: Wszystkie inne wartości.
- Falsy:
let imie = "";
if (imie) {
// "" jest falsy, więc ten blok się nie wykona
console.log("Witaj, " + imie);
} else {
console.log("Wprowadź imię!"); // Ten blok się wykona
}
let liczba = 10;
if (liczba) {
// 10 jest truthy, więc ten blok się wykona
console.log("Liczba jest większa od zera, albo nie jest zerem");
}Zrozumienie wartości truthy i falsy jest kluczowe, ponieważ pozwala na pisanie zwięzłego i czytelnego kodu.
Łączenie warunków (operatory logiczne): Możemy łączyć kilka warunków za pomocą operatorów logicznych:
&&(AND - i): Warunek jest prawdziwy tylko wtedy, gdy oba warunki są prawdziwe.||(OR - lub): Warunek jest prawdziwy, gdy przynajmniej jeden z warunków jest prawdziwy.!(NOT - negacja): Zmienia wartość logiczną na przeciwną.
let x = 5;
let y = 10;
if (x > 0 && y < 20) {
// Oba warunki są prawdziwe
console.log("x jest dodatnie i y jest mniejsze od 20");
}
if (x < 0 || y > 5) {
// Przynajmniej jeden warunek jest prawdziwy
console.log("x jest ujemne lub y jest większe od 5");
}
let prawda = true;
if (!prawda) {
// Warunek jest fałszywy, bo negujemy prawdę
console.log("To się nie wykona");
} else {
console.log("To się wykona");
}- Kolejność wykonywania operatorów Tak jak w matematyce, operatory logiczne mają swoją kolejność wykonywania. Najpierw wykonywana jest negacja (
!), potem iloczyn logiczny (&&), a na końcu suma logiczna (||). Można używać nawiasów, aby wymusić inną kolejność.
let a = true;
let b = false;
let c = true;
if (a || (b && c)) {
// Najpierw b && c, potem a || (b && c)
console.log("Warunek spełniony"); // Wykona się, bo b && c to false, a a to true
}
if ((a || b) && c) {
// Najpierw (a || b), potem (a || b) && c
console.log("Ten warunek też jest spełniony"); // Wykona się, bo (a || b) to true a c to true
}Praca Domowa:
- Napisz program, który wypisze liczby od 1 do 100, ale dla liczb podzielnych przez 3 wypisze “Przez 3”, dla podzielnych przez 5 wypisze “Przez 5”, a dla podzielnych przez 3 i 5 wypisze “Przez 3 i 5”.
- Stwórz pętlę
while, która będzie prosić użytkownika o podanie liczby, dopóki nie poda liczby większej od 10. (Można użyć modułureadlinew Node.js do interakcji z konsolą).
Eksperymentuj!
Najlepszym sposobem na naukę jest praktyka. Zmieniaj warunki, modyfikuj pętle, zobacz, co się stanie. Nie bój się eksperymentować!
Czytaj Dalej!
To tylko krótki wstęp do instrukcji warunkowych i pętli. W kolejnych wpisach zgłębimy te tematy jeszcze bardziej. Zachęcam do lektury pozostałych postów na naszym blogu!
Mam nadzieję, że ten artykuł był pomocny. Jeśli masz jakieś pytania, śmiało zadawaj je w komentarzach! Powodzenia w nauce JavaScript!
Chroń swój komputerPolecane artykuły
Moje Projekty 3D: MakerWorld i Printables
Odkryj fizyczne projekty 3D stworzone przezemnie. Modele do druku 3D na MakerWorld i Printables. Połącz kodowanie z namacalną innowacją.
Mateusz Kędziora
Bubble Drop: Merge Challenge – Nowa Wciągająca Gra Mobilna na Androida
Zagraj w Bubble Drop: Merge Challenge – moją nową, uzależniającą grę mobilną na Androida! Zrzucaj, łącz i buduj strategie, by przetrwać kulkowy armagedon.
Mateusz Kędziora
Flutter DevTools: Debugowanie UI
Debugowanie układu UI we Flutterze z Flutter DevTools. Praktyczne wskazówki i techniki dla developerów.
Mateusz Kędziora


