Dzisiaj dowiesz się o kolejnej konstrukcji z zakresu wiedzy o języku JavaScript, która zdecydowanie poszerzy Twoje możliwości w zakresie pisania programów 💡. Tą konstrukcją jest pętla, a na początek dowiesz się do czego najlepiej pasuje pętla "while" w języku JavaScript! Będzie również parę zdań o tym, czego się wystrzegać ⚠️. Prosimy 😊!

PĘTLA "WHILE" W JĘZYKU JAVASCRIPT IDEALNYM ŚRODKIEM NA POWTARZANIE TEGO SAMEGO

Wiele razy, w Twoich założeniach jak ma działać program, na pewno znajdzie się kwestia wykonania pewnej sekwencji czynności wielokrotną liczbę razyPo to wymyślono pętlę "while" jaką znajdziesz w naprawdę wielu językach wysokiego poziomu. W języku JavaScript pętla "while" funkcjonuje tak samo.

CZYM JEST PĘTLA "WHILE" W JĘZYKU JAVASCRIPT?

Jest to blok instrukcji wykonywany jeden raz po drugim dopóty, dopóki określony warunek nie zostanie spełniony. To działa podobnie jak instrukcja warunkowa, z tym że ona sprawdza warunek i w przypadku jego spełnienia, wykonuje podane instrukcje i odbywa się to JEDNORAZOWO. W pętli to może się wykonywać cyklicznie. To jest istotna różnica 🚨!

Poznawszy pętlę "while" należy też wiedzieć kiedy najlepiej ją stosować porównując to do pozostałych pętli jakie zostały poruszone w kolejnych artykułach ("for" i "do while").

KIEDY NAJLEPIEJ UŻYĆ PĘTLI "WHILE", A KIEDY INNEJ?

Wystarczy pamiętać, że pętla "while" będzie najlepiej pasować do instrukcji, przy których nie da się ustalić ile razy będą musiały zostać wykonane, aby rozwiązały dany problem. To może być na przykład szukanie drogi do wyjścia. Idąc korytarzami możemy błądzić godzinę, 6 godzin albo od razu przez przypadek znaleźć wyjście 🔑. Ważną cechą jest nieprzewidywalność w zakończeniu powtarzania danych czynności ℹ️.

Teraz popatrzmy na sposób zapisu.

JAK UTWORZYĆ PĘTLĘ "WHILE" W JĘZYKU JAVASCRIPT?

Pętla "while" w języku JavaScript budowana jest w sposób następujący 👇:

while ([warunek]) {
    // instrukcje wykonywane raz po raz, aż warunek przestanie być prawdziwy
}

Na początku piszesz słówko kluczowe "while", a zaraz po nim parę nawiasów okrągłych, tych samych jak przy instrukcji "if". Co wewnątrz? Warunek! Również tak samo jak w instrukcji warunkowej. Klamerki i pomiędzy nimi, blok instrukcji do wykonania.

Zwracam uwagę, że to jest pętla 🔁! To, co umieścisz wewnątrz klamerek, będzie wykonywane konsekwentnie tak długo, jak długo warunek zostanie spełniony! Oznacza to, że trzeba zadbać, aby za którymś razem warunek nie został spełniony, aby pętla się zatrzymała.

PRZYKŁAD KODU ŹRÓDŁOWEGO DZIAŁANIA PĘTLI "WHILE" W JĘZYKU JAVASCRIPT

Najprostszym przykładem będzie wprowadzenie do warunku poddanie wartości zmiennej sprawdzeniu, czy jest ona większa od zadanego N. Możemy napisać tak 👇:

let i = 0;

while (i < 10) {
    console.log("Licznik: " + i);
    
    ++i;
}

Podałem chyba najczęściej widzianą postać pętli "while" stawiając za przykład iterowanie ileś razy. Iteracja to z łaciny "powtórzenie" i radzę Ci wpoić sobie to pojęcie jak najszybciej ‼️, gdyż jest dużo częściej używane w środowisku informatycznym, niż polskojęzyczny odpowiednik 🇵🇱.

Mała literka 'i' to najczęściej wykorzystywana nazwa zmiennej do sterowania przepływem pętli. Litera 'i' pochodzi od słowa "indeks", a on z kolei ma związek z argumentami tablicy - statycznej struktury danych przechowującej wiele wartości danego typu (więcej informacji w załączonym artykule) ℹ️.

Możesz też zrobić taką sztuczkę i jeszcze bardziej uprościć kod 👇:

let i = 0;

while (i < 10) {
    console.log("Licznik: " + i++);
}

Osadziliśmy sobie modyfikację licznika "i" jako postinkrementację w wywołaniu metody "console.log" ⭐. Jeżeli nie rozumiesz sensu działania, to bezpieczniej będzie korzystać z poprzedniej formy 👍. Chciałem tylko pokazać, że można tak zrobić, a zawsze zachęcam do pogłówkowania dlaczego taka forma również jest poprawna i kod musi wyglądać w taki sposób 🔍.

Tak czy owak, mamy to - pętla "while" w języku JavaScript, która wypisuje 10 razy komunikat ✔️. Co więcej, każdy z nich będzie reprezentować inną (aktualną) wartość licznika przechowywanego w zmiennej "i". Kiedy odpalisz sobie program klikając w "index.html" wykonany dawno temu razem z powyższym kodem, Twoim oczom ukaże się 10 wierszy tekstu w konsoli deweloperskiej JavaScript. Zwróć uwagę na zmianę wartości licznika, który rośnie nam o jeden do góry ➕!

To jest dokładnie coś, co mógłbyś/mogłabyś napisać w taki sposób 👇:

console.log("Licznik: 0");
console.log("Licznik: 1");
console.log("Licznik: 2");
console.log("Licznik: 3");
console.log("Licznik: 4");
console.log("Licznik: 5");
console.log("Licznik: 6");
console.log("Licznik: 7");
console.log("Licznik: 8");
console.log("Licznik: 9");

Tak właśnie działa pętla "while", która wykona to samo, tylko w skondensowanej i o wiele bardziej profesjonalnej formie 🏆.

Innym sposobem zapisu może być też funkcja zwracająca wartość boolowską i to ona odpowiadałaby za warunek wejścia do pętli:

while (!packageWasDelivered()) {
    console.log("Trwa transport paczki...");
}

Tu mamy przypadek, w którym nie wiadomo ile razy może się powtórzyć dana instrukcja. Podpowiem, że najlepiej wtedy jest używać pętli "while", ponieważ jest do tego najlepiej dopasowana ze względu na swoją budowę (aby zrozumieć o czym piszę, musisz zapoznać się z pętlą "for") 💡.

Napomknę co nieco o czymś, co już napisałem a propos sprawienia, aby pętla "while" w języku JavaScript kiedyś się zatrzymała, aby nie doszło do zawieszenia się przeglądarki (tak, może się tak zdarzyć 🤯!).

NA CO TRZEBA UWAŻAĆ PODCZAS KORZYSTANIA Z PĘTLI "WHILE" W JĘZYKU JAVASCRIPT?

Przypuśćmy, że cały czas mamy ten sam przykład 👇:

let i = 0;

while (i < 10) {
    console.log("Licznik: " + i);
}

To będzie sobie lecieć w nieskończoność!!! A wiesz dlaczego? Bo warunek cały czas będzie prawdziwy 👀! Nigdy nie dochodzi do modyfikacji wartości licznika odpowiadającego za "wchodzenie" do pętli 🚨.

To jest tak, jakbyś napisał(a) to w następującej formie:

while (true) {
    console.log("Licznik: 0");
}

I tak to sobie będzie lecieć do wyczerpania zasobów pamięci 💥.

Pętla "while" w języku JavaScript

Pętla "while" wykonuje zawarte w bloku instrukcje do momentu, aż warunek wejścia nie zostanie spełniony.


Myślę, że przedstawiłem wszystko co wymagało komentarzy i wytłumaczeń. Bądź ostrożny(-a) i patrz uważnie, aby każda pętla "while" w języku JavaScript któregoś razu zaprzestała wykonywania pewnych czynności.

PODOBNE ARTYKUŁY