JavaScript od podstaw

Ta książka zacznie Twoją przygodę z programowaniem. Prezentuje wiedzę w praktyczny, przystępny i zrozumiały sposób. Pomaga zbudować solidne podwaliny pod naukę JavaScript oraz wytyczyć dalszy kierunek. Jeśli chcesz nauczyć się programowania albo zastanawia Cię czym ono jest, to jest to książka dla Ciebie.

Razem z tą książką wejdziesz krok po kroku do świata JavaScript. Pokaże Ci, że programowanie to świetna zabawa, a przy tym znacznie bardziej przydatna i dostępna umiejętność niż może się wydawać.

Dla kogo jest ta książka?

To jest książka dla każdego, kto chce nauczyć się programowania. Zamierzam obalić stereotypy i udowodnić, że zarówno 53-letnia nauczycielka, 42-letni taksówkarz, jak i 12-letnie uczeń są w stanie z niej skorzystać. Zakładam wyłącznie doświadczenie w korzystaniu z komputera i internetu, a resztę postaram się wyjaśnić.

To nie jest książka dla osób, które już potrafią programować w innym języku. Tłumaczy wszystko od zupełnych podstaw. Nie powinna być traktowana jako podręcznik akademicki. Używane słownictwo uprościłem, a pojęcia zdefiniowałem w sposób nieformalny. Oczywiście, starałem się zachować maksimum poprawności, ale przede wszystkim podstawiłem na zrozumiałość i praktyczność.

O książce

Książka podzielona jest na cztery części:

  1. To co najważniejsze w JavaScript — gdzie zaczynamy naszą przygodę z programowaniem i poznajemy najistotniejsze funkcjonalności tego języka.
  2. Głębsze wody - gdzie wyjdziemy poza podstawy i zaczniemy omawiać bardziej zaawansowane funkcjonalności języka.
  3. Napiszmy razem grę - gdzie wykorzystamy zdobyte umiejętności do napisania gry.
  4. O programowaniu - gdzie pomówimy o wykorzystaniu tych umiejętności, o nauce programowania i o branży programistycznej.

Czego nauczysz się z tej książki?

Ta książka nie wystarczy by nauczyć się programowania. Nie wiem czy istnieje taka, która by wystarczyła. To tak jakbyśmy chcieli się z jednej książki nauczyć języka fińskiego od zupełnych podstaw. Jeśli jednak sumiennie przystąpisz do nauki z tej książki (przykładów, zadań), to skończysz z wiedzą wystarczającą by wykorzystywać JavaScript w prostych zastosowaniach.

Z tej książki dowiesz się:

  • czym są zmienne i wartości,
  • jak używać warunków i pętli,
  • jak działają funkcje,
  • o najważniejszych elementach programowania obiektowego i funkcyjnego,
  • jak napisać grę Pong,
  • jak wykorzystać zdobytą wiedzę w praktyce,
  • jak kontynuować naukę.

Akcja "Podaj dalej"

Książce towarzyszy akcja społeczna "Podaj dalej". Więcej na ten temat akcji znajdziesz na stronie akcji.

Spis treści

  • Wstęp

Część 1: To, co najważniejsze w JavaScript

Pierwszy program

  • Przeglądarka
  • Używanie konsoli
  • Edytory Online
  • Komentarze
  • Instrukcje, średniki i białe znaki

Podstawowe wartości

  • Teksty, znane jako stringi
  • Liczby
  • Wartości logiczne: prawda i fałsz
  • Operator równości i nierówności
  • Operatory porównania dla liczb
  • Typy wartości

Zmienne

  • const i let
  • Nazywanie zmiennych
  • Przypisanie rozszerzające wartość zmiennej
  • Zmienne wskazują na wartości
  • Zmienne niezdefiniowane i wartość undefined
  • Wartość null

Warunki

  • Instrukcja warunkowa if
  • Wywołanie warunkowe z alternatywą if-else
  • If-else-if
  • Operator warunkowy

Wyrażenia logiczne

  • Operator i &&
  • Operator lub ||
  • Operator negacji !
  • Czytanie wyrażeń logicznych
  • Wartości falsy i truthy
  • Zwracanie wartości przez && i ||

Pętle

  • Pętla while
  • Pętla for

Funkcje

  • Wydzielanie części kodu
  • Jak działają funkcje?
  • Odnoszenie się do elementów spoza funkcji
  • Parametry i argumenty funkcji
  • Wynik funkcji
  • Funkcje matematyczne
  • Funkcje jako wartości

Część 2: Głębsze wody

Obiekty

  • Definicja obiektu
  • Obiekt jako właściwość
  • Modyfikowanie obiektów
  • Dodawanie właściwości
  • Brakujące właściwości
  • Format zapisu danych JSON

Elementy programowania obiektowego

  • Metody, czyli funkcje jako właściwości
  • Operator new
  • Klasy

Tablice

  • Tworzenie tablic
  • Dodawanie i wyciąganie elementów
  • Odnoszenie się do elementów tablicy
  • Iteracja po tablicy

  • Funkcja forEach
  • Funkcja map
  • Funkcja join
  • Inne metody tablicy warte poznania

Funkcje strzałkowe

  • Przydatność funkcji strzałkowych
  • Ograniczenia funkcji strzałkowych

Część 3: Napiszmy razem grę

Daj mi płótno, a namaluję świat

  • Płótno, czyli HTML canvas
  • Pierwszy rysunek
  • Paletka
  • Tekst
  • Piłeczka
  • Czyszczenie płótna
  • Stan oraz stałe

  • Stałe
  • Stan
  • Zmiana stanu

Przejmujemy sterowanie

  • Ruch paletki
  • Zatrzymanie paletki
  • Blokowanie na skrajach
  • Pauzowanie
  • Lot piłeczki

  • Piłeczka wraca na środek
  • Piłeczka odbija się od ścianek
  • Piłeczka odbija się od paletek

Porządkujemy naszą grę, wykorzystując podejście obiektowe

  • Piłeczka jako obiekt
  • Gracze i paletki jako obiekty
  • Pozycja paletki
  • Obiektowe rysowanie piłeczki i paletek
  • Użycie klas

Część 4: O programowaniu

Co można robić w JavaScript?

  • Tworzenie stron internetowych
  • Pisanie gier
  • Aplikacje na telefony i komputery
  • Pisanie botów
  • Skrypty w Google Docs, Google Sheets i Google Slides
  • Prezentacje
  • Aplikacje serwerowe
  • Wizualizacja danych
  • Uczenie maszynowe
  • Robotyka
  • Muzyka, efekty wizualne, sztuka
  • Hakowanie stron
  • Wiele więcej...

Jak nauczyć się programowania?

  • Kursy internetowe
  • Akademickie kursy internetowe
  • Nauka programowania na YouTube
  • Książki
  • Podcasty
  • Bootcampy i kursy na żywo
  • Mentoring

Gry w służbie programowania

Nauka programowania na telefonie

  • Kursy do nauki programowania na telefonie
  • Platformy do kursów dostępne na telefonie
  • Gry programistyczne na telefonie

Jak zostać programistą?

  • Geneza planu
  • Dla kogo jest ten plan?
  • Ile zajmuje przejście tej ścieżki?
  • Plan w 7 krokach

Przyszłość programowania

  • Liczba programistów jest duża
  • Liczba programistów szybko rośnie
  • Specjalizacja postępuje, czyli bycie programistą jak kiedyś inżynierem
  • Programowanie ułatwia wiele zawodów, może ułatwiać niemal każdy
  • Przyszłość programowania

Rozwiązania do ćwiczeń

Słowniczek

Marcin Moskała

Autor

Marcin Moskała

Marcin Moskała to doświadczony programista, autor książek Effective Kotlin oraz współautor Android Development with Kotlin, założyciel Kt. Academy. Programuje od dziecka, występuje na międzynarodowych konferencjach programistycznych, posiada w dorobku liczne publikacje m.in. w magazynie Programista. Pasjonat czytania i pisania książek, uczenia się i filozofii.

Rozdziały dostępne jako artykuły

Nowości

Książka w przedsprzedaży na Allegro!

3 Sie 2021

Książkę już można kupić na Allegro. Zostanie wysłana 7 Sierpnia 2021.

Już jest!

3 Sie 2021

Wreszcie dotarła! Teraz wyślemy ją do hurtowni oraz wreszcie możemy zacząć dzielić się egzemplarzami typu "Podaj dalej".

Książka wysłana do druku

14 Lip 2021

Książka poszła do druku w Mazowieckim Centrum Poligrafii i liczymy na to, że już nie długo będziemy mogli ją odebrać i zacząć rozdawać.

Podcast Przeprogramowani

26 Cze 2021

Autor książki wystąpił w podcast Przeprogramowani. Rozmawiał między innymi o książce.