dla Początkujących
6 godz. 26 min · JavaScript · Full-stack i Programowanie
Adam GospodarczykProgramowanie to szeroka dziedzina, która nieustannie się rozwija. Rozpoczynając naukę możemy opierać się głównie na wskazówkach bardziej doświadczonych osób, bądź autorach kursów i nauczycielach. W praktyce najważniejsze na początku jest dobre zrozumienie tego, czym jest programowanie, jakie możliwości daje oraz jakie możemy wybrać ścieżki rozwoju. W tym kursie spojrzymy na programowanie z szerokiej perspektywy, dając Ci solidne podstawy do dalszej nauki.
To kolejne trudne pytanie, na które nie ma jednoznacznej odpowiedzi. Dobra wiadomość jest taka że języki programowania, podobnie jak angielski, niemiecki czy hiszpański mają cechy wspólne. Nie oznacza to że nauka jednego, da Ci dostęp do wszystkich ale poznasz ogólne mechanizmy, które spotkasz w niemal wszystkich pozostałych technologiach. W tym kursie skupiamy się właśnie na takich obszarach, opierając przykłady o obecnie najpopularniejszy język jakim jest JavaScript.
Być może zastanawiasz się jak dokładnie wygląda praca programisty? Czym różni się front-end od back-endu i czy wysokie umiejętności analityczne są wymagane niezależnie od obszaru programowania, którym się zajmujemy? Dodatkowo samo zostanie programistą to tylko początek drogi. Możliwości jakie przed nami stoją nie tylko są ogromne, ale również nieustannie się rozwijają, stawiając przed nami nowe wyzwania.
Ten kurs podzielony jest na dwie części - teoretyczną, która przedstawi Ci szerokie spojrzenie na programowanie oraz praktyczną, w której samodzielnie będziesz w stanie przekonać się jak pisać programy z wykorzystaniem języka JavaScript - najpopularniejszego języka na świecie. To, że będziemy przerabiać przykłady w JavaScript, nie stanowi przeszkody a wręcz lepiej przygotuje Cię do pracy z innymi językami jak Python, C# czy C++ lub Kotlin. To wszystko ułatwi Ci podejmowanie decyzji dotyczących dalszej nauki i rozwoju jako programista.
W pierwszych lekcjach części praktycznej kursu dowiesz się jak skonfigurować środowisko pracy wraz z edytorem, w którym przyjdzie Ci pracować. Pomożemy Ci w dobraniu odpowiednich ustawień i wtyczek, które przyspieszą naukę i pomogą w lepszym zrozumieniu podstawowych koncepcji programistycznych. Krok po kroku dowiesz się jak przygotować środowisko i rozpocząć komfortową pracę.
Mimo, że będziemy pracować z JavaScript, posłuży nam on do przedstawienia najważniejszych koncepcji programowania w każdym innym języku. Nie będziemy uczyć się tworzenia stron i środowiska przeglądarki a jedynie przećwiczymy najważniejsze koncepcje języków programowania w środowisku konsolowym. Dzięki temu zdobyte umiejętności z łatwością przełożysz na inne języki jak Python, Java czy Swift, bo wszystkie posiadają identyczne konstrukcje, a poznać należy wyłącznie różnice.
OOP to jeden z najważniejszych paradygmatów programowania, który powinien poznać każdy aspirujący Programista. Dzięki temu będziesz mógł zdecydowanie lepiej zrozumieć możliwości i powiązania klas i obiektów, które tworzą programiści a także pisać kod, który jest prostszy i reużywalny. To koncepcja, którą także wyjaśnimy obrazowo w kursie. Oczywiście, poza teorią w kursie pokażemy Ci przykłady tworzenia funkcjonalnych klas w JavaScript.
Kolejną ważną koncepcją, którą musi znać każdy początkujący Programista jest praca z błędami - innymi słowy obsługa błędów lub debugowanie naszej aplikacji. To niezwykle ważne, bo oszczędzi Ci mnóstwa frustracji oraz wielu godzin rozpoznawania, co w kodzie nie działa poprawnie. Z kursu w praktyce dowiesz się, jak testować swoje aplikacje, łatwo wykrywać błędy i korzystać z narzędzi, które będą je dla nas wykrywać lub automatycznie poprawiać!
Ten kurs przygotowaliśmy tak, aby był fundamentem wiedzy o Programowaniu, którego używamy w wielu naszych ścieżkach na eduweb.pl. To znaczy, że kurs który masz przed sobą rozpoczyna ścieżkę Python, JavaScript, Ruby i wiele innych. Wiemy, że w sieci jest mnóstwo materiałów na temat podstaw programowania i chcieliśmy przygotować wyjątkowy kurs, który da Ci spokój w natłoku wielu informacji w sieci. Zaangażowaliśmy w to najlepszych autorów eduweb oraz naszym zdaniem jednych z najlepszych programistów w Polsce. To, co jest jednak najważniejsze - kurs omawia programowanie bardzo prostym językiem, dzięki czemu jest przystępny dla każdego!
Kurs przeznaczony jest dla osób początkujących, które stawiają swoje pierwsze kroki na scieżce programisty lub programistki. Jednak skorzystają z niego także te osoby, które myślą o nauce programowania w celu uzupełnienia innych umiejętności, na przykład internetowi przedsiębiorcy, freelancerzy, UI/UX i web designerzy. Jeżeli czujesz się zagubiony lub przytłoczony dużą ilością często sprzecznych informacji - ten materiał pozwoli Ci szerzej spojrzeć na programowanie. To z kolei przełoży się na lepsze decyzje, które będziesz podejmować w kontekście swojego rozwoju. W kursie znajdziesz wskazówki i porady dotyczące efektywnej nauki programowania, które pomogą Ci szybciej zdobyć nowe umiejętności i pracę w zawodzie. Najważniejszą z nich jest fakt, że programowanie to dynamicznie rozwijająca się dziedzina, która wymaga od Ciebie nieustannej nauki. Zatem wypracowanie odpowiednich nawyków i technik nauki jest niezwykle istotne, niezależnie od miejsca w którym aktualnie się znajdujesz.
Przechodzimy już w praktyce do instrukcji warunkowych.
Pokażę Ci jak to wszystko działa,
natomiast na początek zrobimy sobie taki
mały kontekst żebyśmy wiedzieli nad czym będziemy pracować.
Otóż chcę sobie wyobrazić taką sytuację, w
której będziemy chcieli wyświetlić komunikat dla użytkownika
na bazie tego czy jest on zalogowanie czy nie.
Czyli jeżeli będzie zablokowany będziemy
mieli jego imię to będziemy chcieli napisać np.
cześć Maciej, a jeżeli nie to wyświetlimy cześć nieznajomy.
I do tego posłużą nam instrukcje warunkowe,
ale najpierw musimy mieć jakieś dane więc
utworzymy sobie stałą firstName gdzie wpiszemy imię Maciej.
I teraz wyobraźmy sobie, że będziemy w takiej sytuacji, że albo to imię będzie albo
otrzymamy pusty ciąg znaków jeżeli tego imienia nie będzie.
Jakby tutaj nie skupiamy się na tym co to znaczy, że ktoś jest zalogowaniu się czy nie.
Tutaj skupiamy się na takim małym wycinku naszego programu, który odpowiadałby za
wyświetlanie odpowiedniego komunikatu. I teraz instrukcje warunkowe,
konkretnie instrukcja if, o której mówimy teraz, zapisujemy w ten sposób.
Jest to pewnego rodzaju słowo kluczowe if, później otwieramy nawiasy okrągłe
i tutaj musimy podać jakieś wyrażenie lub np.
odwołanie do zmiennej, które będzie ewoluowało do prawdy lub
fałszu czyli tu może być coś co będzie zamienione na true lub false ale
również mogą to być wartości prawdziwe i fałszywe, o których już w tym kursie mówiłem.
Czyli jeżeli zrobimy if 0 to jest to traktowane jak fałsz.
Jeżeli if pusty ciąg znaków też fałsz ale jeżeli tu będzie cokolwiek np.
w ten sposób to jest to traktowane jako wartość prawdziwa.
Więc teraz będziemy chcieli tutaj zrobić coś takiego.
Jeżeli firstName
nie jest równe pustemu ciągówi znaków
wiesz już, że ten operator dokładnie porówna to co jest w firstName
i przyrówna to do pustego ciągu znaków i
zwróci nam true lub false. Więc tak naprawdę całe to wyrażenie tak jak przed momentem
mówiłem zamieni się na true albo na false.
Czyli jeżeli ta stała nie jest pusta nie reprezentuje pustego ciągu znaków czy nie
przechowuje w sobie takiej wartości to będziemy chcieli napisać console.log
cześć i chciałbym do tego cześć dodać właśnie to imię.
Wiesz już, że możemy łączyć ciągi znaków za pomocą operatora Plus.
Czyli on normalnie dodaje nam liczby ale jeżeli jest użyty na ciągach znaków to je łączy
i takie działanie nazywa się konkatynacją,
więc będziemy chcieli tutaj dodać do takiego jednego stringu
drugi czyli firstName.
I zobaczmy, jeżeli zapisze to nasz program od razu nam pokazuje
cześć Maciej.
Ok.Jak zatem widzisz jeżeli ten warunek tutaj jest
prawdziwy to wykonuje się kod, który ujmiemy w takim bloku nawiasów klamrowych. Tu może
być oczywiście znacznie więcej kodu, może być wiele linijek kodu.
Jak najbardziej nie ma żadnego problemu. Natomiast co w przeciwnym wypadku otóż
możemy do takiego zapisu do instrukcji warunkowej if dopisać również else,
w tym miejscu i mamy kolejny blok kodu znowu
tutaj może być wiele linii kodu, który wykona się w przeciwnym wypadku.
Czyli jeżeli tutaj firstName
miałoby pustą wartość to będziemy chcieli napisać console.log cześć nieznajomy.
Zapisujemy oczywiście cały czas mamy cześć
Maciej ale jeżeli by się okazało, że ta stała przechowuje pusty ciąg znaków to już
będziemy wiedzieli cześć nieznajomy. Czyli w ten sposób możemy kontrolować co się
dzieje w naszym programie na bazie jakichś informacji, których możemy nie mieć. My
tutaj oczywiście od razu sobie to wpisaliśmy
więc nie ma sensu takie sprawdzanie oczywiście nigdy w ten sposób byśmy nie
tworzyli programu ale otrzymali byśmy czy moglibyśmy w jakiś sposób pobrać sobie np.
wartość czy pola formularza itd.
To wszystko w przyszłości zobaczysz natomiast na razie chcę się skupić na
takich najmniejszych koncepcjach jak to wszystko działa.
Więc jeżeli będziemy mieli z jakiegoś
miejsca taką informację to na jej bazie możemy kontrolować co robi nasz program.
W zasadzie w języku JavaScript jeżeli
chodzi o instrukcję if to mamy if i else i to jest wszystko.
Natomiast w wielu językach programowania
jest również taki zapis jak else if i w języku JavaScript
wiele osób sądzi, że on również istnieje
chociaż tak naprawdę nie do końca tak jest.
Ale najpierw Ci pokaże jak to wygląda jak to działa a potem powiem ci jaka jest różnica
pomiędzy językiem JavaScript a innymi językami programowania.
Stwórzmy sobie taką stałą number i będziemy tutaj przechowywać wartość 40.
I teraz chciałbym zapytać czy number jest mniejsze od 30
i jeżeli tak chciałbym napisać
liczba jest mniejsza od 30.
Zapiszmy. Oczywiście nic się nie wyświetliło
bo ten warunek wiemy, że zwraca nam tutaj
false. Czyli 40 mniejsze od 30 zamienia się na false i to się nie wykonuje.
No właśnie więc możemy powiedzieć, że w przeciwnym wypadku i normalnie jest to else,
to oznacza, że po prostu w przeciwnym wypadku coś zrób.
Ale możemy również powiedzieć else if czyli w przeciwnym wypadku sprawdź
kolejny warunek. W języku JavaScript wyglądałoby to w ten sposób.
Else tutaj musi być odstęp bo np.
w PHP zapisuje się to tak jak teraz widzisz w języku JavaScript nie,
tutaj trzeba zrobić odstęp i napisać else if.
I tutaj zapytamy number większe od 10 i napiszemy console.log
liczba jest większa od 10, zauważ, że nam się
tym razem to wyświetliło,
i tu możemy zrobić else czyli jeżeli ten warunek by nie był prawdziwy ten by nie
był prawdziwy to koniec końców chcemy wykonać ten blok kodu.
Tutaj już nie podajemy warunku tylko mówimy po prostu else. Takich else ifów
możesz oczywiście umieścić więcej. Tutaj
zrobimy jakby warunek końcowy jeżeli te dwa poprzednie nie zwróciły nam prawdy i
się nie wykonał ten kod, który jest w tych blokach to napiszemy console.log
i napiszemy tutaj liczba nie jest mniejsza od 30 ani też większa od 10.
Wiem, że to trochę długie
ale to nieistotne, ważne, że tutaj zapisaliśmy zdanie, które będzie prawdziwe
w przypadku tego co tutaj stworzyliśmy no i ciągle widzimy liczba jest większa od 10.
Natomiast jeśli sprawimy, że ta liczba będzie np.
mniejsza od 10 będzie to 5
zauważ, że zobaczymy
liczba jest mniejsza od 30. Czyli teraz wykonał się pierwszy warunek, no i jeżeli on
został spełniony to kolejny już else ify i else się po prostu nie wykonały.
Teraz jaka jest różnica pomiędzy
konkretnie językiem JavaScript a innymi. Wspomniałem, że np.
w języku PHP mamy taki zapis jak elseif
natomiast w JavaScript piszemy po prostu else i następnie if.
Wiele osób uważa, że język JavaScript posiada taką instrukcję jak else if
podczas gdy tak naprawdę jeżeli się temu przyjrzymy
tak nie jest. Mamy tutaj if i następnie zwykły else.
Po tym else coś się może dziać i jeżeli
sobie zaznaczę to co jest tutaj tą całość to jest to zupełnie osobna instrukcja
Jeżeli tak na to spojrzymy to się okazuje, że mamy tutaj instrukcję if, która ma blog
else i ten blog po prostu nie jest już opleciony takimi nawiasami
bo nie musi być jeżeli zapisujemy w tej samej linijce kolejne wyrażenie.
Więc to może wyglądać dziwnie ale jeżeli
się temu przyjrzymy z bliska to w rzeczy samej tak jest.
Czyli mamy jedno wyrażenie i jedną instrukcję
warunkową if potem else i w jej bloku else jest cała
druga instrukcja if, która ma swój własny else. Czyli zapamiętaj, że w języku
JavaScript tak naprawdę konstrukcja taka jak else if nie występuje ale w wielu
innych językach ona jest i zapisuje się ją w taki oto sposób.
Jednak w praktyce będzie to działać dokładnie tak samo.