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.
W tej i w kilku kolejnych lekcjach powiemy
sobie o różnych operatora, które są dostępne w języku JavaScript i tak
naprawdę w każdym innym języku programowania.
Na początek będę chciał utworzyć sobie dwie zmienne number 1 tak ją sobie nazwę, pamiętaj,
że w nazwach zmiennych można umieszczać liczby ale nie na początku takiej nazwy.
I piszemy tutaj wartość 2 i zrobimy let number 2 i przypiszemy
wartość 4. Specjalnie tutaj nie użyłem const tylko let bo później będę chciał zmieniać
wartości tych zmiennych. Więc mamy dwie zmienne które przechowują wartości
liczbowe czyli to są wartości specjalnego typu z punktu widzenia języka.
I teraz będę chciał wykorzystać operator
dodawania żeby te dwie wartości dodać i zapisać ich wynik w zmiennej.
Ale co ciekawe nie musimy go nigdzie zapisywać. Zrobimy sobie console log
i zauważ, że w tym miejscu do tej pory
przekazaliśmy albo wartość zmiennej czyli jakby nazwę zmiennej
chcemy wtedy wyświetlić tutaj w konsoli dwójkę
albo można literalnie tutaj przekazać jakąś wartość np.
przekazaliśmy Jan, czy możemy literalnie przekazać dwójkę też
będzie wyświetlana ale możemy tutaj również przekazać wyrażenie.
Więc będę chciał napisać number 1
plus number 2. I tak naprawdę to co będzie musiał zrobić kompilator tego języka
przy uruchamianiu tego wszystkiego to
będzie musiał najpierw wykonać to wyrażenie bo nazywamy to wyrażeniem
więc podstawić tutaj to co jest w zmiennej number 1 czyli dwójkę tutaj podstawi
dokładnie tak samo jakby ona tu była wpisana
można powiedzieć ręcznie.
Tutaj podstawi czwórkę doda te dwie liczby co da nam wynik 6 tutaj już nam
Quokka ładnie to pokazuje i następnie do tej funkcji console.log
podstawić szóstkę a ta funkcja zajmie się tym żeby to po prostu wyświetlić.
Więc tak to będzie wyglądać a więc możemy napisać numer 1 plus number 2
I skorzystaliśmy tutaj właśnie z operatora arytmetycznego dodawania.
Pozwoliło nam to dodać dwie wartości.
Dlatego tak istotne było żeby te wartości
to nie były takie wartości ale żeby to były wartości liczbowe i wtedy można
powiedzieć że język wie co ma z tym zrobić.
Jeżeli użyjemy plusa wie, że ma je po
prostu do siebie dodać. Natomiast chciałabym żebyśmy ten wynik zapisali
sobie zmiennej bo jak najbardziej również można to robić.
Więc możemy sobie stworzyć zmienną czy w tym przypadku stałą bo nie będę zmieniał
jej wartości i nazwiemy ją res 1 jak result 1 czyli wynik pierwszy.
I znowu to działa tak, że program wykonuje się od góry do dołu tworzy dwie zmienne
tutaj są ich wartości następnie tworzy stałą ale zanim do niej wypisze wartość to
musi wyliczyć jaka będzie ta wartość więc podstawia tutaj dwójkę tutaj czwórkę dodaje je,
to daje wynik 6 i szóstkę zapisuje tak naprawdę w tej stałej.
Więc jeżeli się odwołany przez console.log
żeby to po prostu zobaczyć do res 1 zapiszemy widzimy, że tutaj zostało
wyświetlone 6. A więc pierwszym z operatorów arytmetycznych jest plus.
No i teraz jak się możesz domyślić mamy
również inne takie jak minus czyli podejmowanie mnożenie itd.
Za moment je szybko pokaże ale chciałbym na
sekundę dosłownie zatrzymać się przy tym plusie. Co by się stało w sytuacji gdybyśmy
chcieli dodać inne wartości. Wykomentuje tę linijkę żeby nam się ona nie
pojawiała tutaj i teraz będę chciał w konsoli bezpośrednio
bez tworzenia zmiennych dodać dwie wartości.
Pamiętaj, że to byłoby dokładnie tak samo
jakby one były w zmiennych i byśmy je tutaj podstawiali.
Co by było gdybyśmy chcieli dodać wartości tekstowe a więc dwa plus cztery.
Co by było gdybyśmy to zrobili w ten sposób.
Okazuje się że widzimy tutaj 24.
I to jest dziwne.
Z czego to wynika.
To wynika z tego, że 24, które otrzymaliśmy z powrotem to nie jest liczba ale jest to
ciąg znaków czyli tak samo jakbyśmy dodali a plus b.
Po prostu zostałoby to złączone w A i B.
Więc jeżeli próbujemy operatorem Plusa dodać dwa ciągi znaków to chociaż wydaje
się, że to co zostało zwrócone to jest liczba tak naprawdę jest to po prostu
połączony tekst 2 doklejone do 4. Gdybym tutaj napisał 3 to mielibyśmy 2 okrojone do 4 3.
Ale to co zostało zwrócone i co moglibyśmy przechwycić zapisać
zmiennej to byłaby już wartość testowa czyli string.
Możemy to również sprawdzić w ten sposób
pokaże Ci fajny trik jeżeli byśmy to zapisali w np.
res 2 coś takiego
to możemy potem operatorem Type of, który
jest dostępny w języku JavaScript możemy powiedzieć typeof res2,
co to jest i on nam powie, że jest to string.
To oznacza, że wartość przechowywana w
tej stałej to jest wartość String czyli testowa a gdybyśmy tutaj dodali dwójkę
do 43
to mielibyśmy tutaj wartość 45 i res2 wtedy jest o typie number.
To jest ważne.
Możesz sobie zapamiętać że jest taki operator,
natomiast chciałem po prostu pokazać,
że Plus czyli ten operator arytmetyczny jeżeli jest używany na liczbach to on te
liczby doda czyli dwa plus cztery to jest sześć.
Ale jeżeli go użyjemy na ciągach znaków czyli gdyby tutaj było dwa plus cztery
to już nie będzie 6 tylko to będzie 2 i 4 czyli będzie wyglądać jak 24.
Ale to będzie to tekst zawierający 2 i 4 po prostu.
Więc jest to istotne, że ten operator
używany na ciągu znaków pozwala nam je po prostu ze sobą łączyć.
Więc może ja sobie to
wykomentuje albo zostawimy to może w ten sposób ok a z tym przejdziemy sobie niżej bo
będziemy chcieli teraz jeszcze zobaczyć jak wyglądają w praktyce inne operatory
takie jak odejmowanie, mnożenie itd.
Więc jeżeli byśmy sobie utworzyli stałą powiedzmy res3 czyli rezultat trzeci i
zrobimy number 1 co mieliśmy u góry -number2 to będzie 2 minus 4
to powinno dać nam wartość -2 i zobaczmy sobie tu podstawowy rezultat trzeci.
Dokładnie tak się też dzieje.
Czyli możemy dodawać i odejmować. W przypadku wartości tekstowych to odejmowanie
już działać nie będzie w przypadku wartości
tekstowych plus je ze sobą łączył.
Minus tutaj nie będzie miał specjalnego znaczenia.
Kolejna rzecz, którą możemy zrobić to jest mnożenie napiszemy sobie rezultat 4 to jest
number1 razy za pomocą takiej gwiazdki number2 a więc będzie to 2 razy 4
oczywiście możemy sobie tutaj podejrzeć i widzimy, że wynik jest to 8.
Kolejna rzecz jaką możemy zrobić,
ja może skopiuję całą tą linijkę i po
prostu zmienię nazwę stałej na 5 zrobimy number1 dzielone w ten
sposób się to robi przez number2 i zobaczmy co nam tutaj się pokaże.
Widzimy, że będzie to wartość zmienną przecinka pół.
Czyli można powiedzieć, że w tej zmiennej zostaje zapisane 0,5
i jest to wartość liczbowa
dokładnie tak samo jak byśmy to zrobili tak.
Czyli można powiedzieć, że takie wyrażenie
coś się zwraca i zapisuje w tej stałej. Mamy jeszcze operator arytmetyczny tzw.
Modulo, jest to reszta z dzielenia. Zróbmy
sobie rezultat szósty i tu wpisze zamiast zmiennych to wpisze literalnie po prostu
6 %.
To jest ten Modulo 3.
Czyli jaka jest reszta z dzielenia jeżeli
podzielimy sześć przez trzy zobacz, to nam zwraca 0,
natomiast gdybyśmy tutaj zrobili rezultat siódmy i byśmy podzielili 6 przez 4
tutaj podstawimy rezultat siódmy to się okazuje, że reszta z dzielenia jest to 2.
Bo 6 dzielone przez 4 daje nam 1 i dwójka jako reszta z dzielenia.
Ten operator może się w wielu sytuacjach przydać.
Nie będziemy na razie omawiać kiedy on się może przydać,
na razie omawiamy tylko to, że taki
operator arytmetyczny istnieje w języku JavaScript i również w innych językach programowania.
Kolejna rzecz, którą chciałbym pokazać to
jest kolejność działań więc napiszemy rezultat ósmy.
I tutaj będę chciał zrobić coś takiego jak dwa plus dwa razy cztery.
I teraz warto zapamiętać, że tutaj język zadba o to żeby ta kolejność była poprawna. Czyli
najpierw 2 razy 4 to jest 8 a potem do tego dodać dwójkę
i to będzie wartość 10.
Zobaczmy, dokładnie już nam tutaj podpowiada.
Jeżeli zapisze uruchomimy ten program oczywiście też 10 się tutaj pojawi.
Możemy jednak wymusić kolejność działań
jeżeli bym tutaj zrobił rezultat dziewięć i zrobiłbym sobie w nawiasach 2+2
a potem zrobił razy 4
to to wymusi można powiedzieć na języku żeby zrobił to w określonej kolejności.
Czyli dwa plus dwa to będzie 4 i pomnożone razy 4 da nam jak widzisz 16.
Na koniec jeszcze Ci pokaże jedną fajną rzecz. Utworzyłem tutaj specjalnie zmienne czyli z
użyciem let a nie stałe po to żeby móc zmieniać ich wartość i na końcu chciałbym
Ci pokazać, że możemy zmienić wartość takiej zmiennej w ciekawy sposób.
Otóż wyobraź sobie, że do tej zmiennej
number 1, którą mamy u góry ona ma dwójkę w sobie chcielibyśmy dodać jeszcze dwójkę.
Czyli jak to zrobić.
Moglibyśmy nadpisać wartość tej zmiennej.
Pamiętasz, że tu możemy sobie wpisać dowolną
rzecz. Więc możemy nadpisując taką wartość wpisać number 1 + 2
I znowu język będzie to musiał zrobić w ten sposób czy ta platforma, która nam wykonuje
kod, że bierze to co jest w tej zmiennej number 1 to jest dwójka podstawa tutaj tą
dwójkę następnie z użyciem Plusa dodaję te dwie dwójki.
To nam daje wartość 4 i tą czwórkę
zapisuje jako nową wartość zmiennej number1 Więc w ten sposób to można oczywiście
zrobić i jeżeli sobie tutaj wyświetlimy teraz number 1 zapiszemy widzimy, że jest to 4.
Natomiast można to zrobić również krócej
więc ja wykomentuję tą linijkę, zostawię ją dla Ciebie. Możemy napisać number 1
plus równa się 2.
To może na początku wyglądać dziwnie,
tutaj musi być oczywiście jedynka,
natomiast to jest dokładnie to samo co wyżej to oznacza zmień wartość tej
zmiennej o 2 dodając do tego co już tam jest dwójkę.
Jeżeli teraz zapiszemy dokładnie to samo nam się tutaj pojawia.
No i na koniec chcę Ci tylko wspomnieć o tym, że zamiast plus równa się możemy to
samo zrobić z minusem czyli jeżeli chcielibyśmy pomniejszyć tą wartość o 2 to
można by było napisać minus równa się 2 itd.
Ja zapisze tutaj w komentarzu jakie
operatory są dostępne. Nie będę ich wszystkich pokazywał czyli plus równa się,
z którego skorzystaliśmy, następnie minus równa się,
następnie razy równa się i następnie dzielona równa się.
Może to dziwnie wyglądać może nie często
się z tego korzysta ale warto wiedzieć, że zamiast pisać np.
number równa się number 1 razy 2 to możemy
zrobić od razu tutaj coś takiego a tutaj podstawić dwójkę
wtedy by to również zadziałało dokładnie tak samo jak z tym plusem.
Więc po prostu zostawię to tutaj abyś o
tym pamiętał jest to taki skrót. No i w ten sposób omówiliśmy wszystkie
istotne operatory arytmetyczne, które pozwalają nam wykonywać działania na
liczbach a w szczególnych przypadkach jeżeli próbujemy dodać ze sobą dwa ciągi
znaków to również to działa ale ich można powiedzieć że nie dodaje traktując jako
liczby ale łączy ze sobą traktując jako po prostu dwa ciągi znaków.