Opis produktu: JavaScript. Przewodnik. Poznaj język mistrzów programowania. Wydanie VII - David Flanagan
JavaScript jest jednym z najpopularniejszych języków programowania na świecie, szczególnie w kontekście tworzenia aplikacji internetowych. Książka Davida Flanagana stanowi kompleksowy przewodnik po JavaScript oraz jego najważniejszych API, zarówno tych klienckich, jak i serwerowych. Autor prezentuje liczne przykłady, co ułatwia zrozumienie omawianych koncepcji. W książce znajdują się również wskazówki i porady, które pomagają czytelnikom rozwijać swoje umiejętności programistyczne. Nowością w tym wydaniu są rozdziały poświęcone różnym aspektom języka JavaScript, takim jak klasy, moduły, iteratory, generatory, promesy oraz instrukcje async/await.
Zagadnienia poruszane w książce
- Podstawy języka i jego podstawowe elementy
- Struktury danych, wyrażenia regularne, format JSON
- Standardowa biblioteka JavaScript
- Przetwarzanie dokumentów i grafiki
- Obsługa sieci, pamięci i wątków
- Środowisko Node oraz profesjonalne narzędzia i rozszerzenia języka
Informacje o książce
- Tytuł: JavaScript. Przewodnik. Poznaj język mistrzów programowania. Wydanie VII
- Autor: David Flanagan
- Tłumaczenie: Andrzej Watrak
- ISBN: 978-83-8322-758-0
- Rok wydania: 2021
- Format: 164 x 239 mm
- Ilość stron: 608
- Wydawnictwo: Helion S.A.
- Oprawa: twarda
Spis treści
Wstęp
1. Wprowadzenie do języka JavaScript
- 1.1. Poznawanie JavaScriptu
- 1.2. Witaj, świecie!
- 1.3. Wycieczka po języku JavaScript
- 1.4. Przykład: histogram częstości użycia znaków
- 1.5. Podsumowanie
2. Struktura leksykalna
- 2.1. Tekst programu
- 2.2. Komentarze
- 2.3. Literały
- 2.4. Identyfikatory i zarezerwowane słowa
- 2.5. Unicode
- 2.6. Opcjonalne średniki
- 2.7. Podsumowanie
3. Typy, wartości i zmienne
- 3.1. Informacje ogólne i definicje
- 3.2. Liczby
- 3.3. Tekst
- 3.4. Wartości logiczne
- 3.5. Wartości null i undefined
- 3.6. Symbole
- 3.7. Obiekt globalny
- 3.8. Niemutowalne prymitywne wartości i mutowalne odwołania do obiektu
- 3.9. Konwersje typów
- 3.10. Deklarowanie zmiennych i przypisywanie wartości
- 3.11. Podsumowanie
4. Wyrażenia i operatory
- 4.1. Wyrażenia podstawowe
- 4.2. Inicjatory obiektów i tablic
- 4.3. Wyrażenia definiujące funkcje
- 4.4. Wyrażenia dostępu do właściwości
- 4.5. Wyrażenia wywołujące
- 4.6. Wyrażenia tworzące obiekty
- 4.7. Przegląd operatorów
- 4.8. Operatory arytmetyczne
- 4.9. Wyrażenia relacyjne
- 4.10. Wyrażenia logiczne
- 4.11. Wyrażenia przypisujące
- 4.12. Wyrażenia interpretujące
- 4.13. Inne operatory
- 4.14. Podsumowanie
5. Instrukcje
- 5.1. Instrukcje wyrażeniowe
- 5.2. Instrukcje złożone i puste
- 5.3. Instrukcje warunkowe
- 5.4. Pętle
- 5.5. Skoki
- 5.6. Inne instrukcje
- 5.7. Deklaracje
- 5.8. Podsumowanie instrukcji
6. Obiekty
- 6.1. Wprowadzenie do obiektów
- 6.2. Tworzenie obiektów
- 6.3. Odpytywanie i ustawianie właściwości
- 6.4. Usuwanie właściwości
- 6.5. Sprawdzanie właściwości
- 6.6. Wyliczanie właściwości
- 6.7. Rozszerzanie obiektów
- 6.8. Serializacja obiektów
- 6.9. Metody obiektów
- 6.10. Udoskonalona składnia literału obiektowego
- 6.11. Podsumowanie
7. Tablice
- 7.1. Tworzenie tablic
- 7.2. Odczytywanie i zapisywanie elementów tablicy
- 7.3. Rozrzedzone tablice
- 7.4. Długość tablicy
- 7.5. Dodawanie i usuwanie elementów tablicy
- 7.6. Iterowanie tablic
- 7.7. Tablice wielowymiarowe
- 7.8. Metody tablicowe
- 7.9. Obiekty podobne do tablic
- 7.10. Ciągi znaków jako tablice
- 7.11. Podsumowanie
8. Funkcje
- 8.1. Definiowanie funkcji
- 8.2. Wywoływanie funkcji
- 8.3. Argumenty i parametry funkcji
- 8.4. Funkcje jako wartości
- 8.5. Funkcje jako przestrzenie nazw
- 8.6. Domknięcia
- 8.7. Właściwości, metody i konstruktory funkcji
- 8.8. Programowanie funkcyjne
- 8.9. Podsumowanie
9. Klasy
- 9.1. Klasy i prototypy
- 9.2. Klasy i konstruktory
- 9.3. Słowo kluczowe class
- 9.4. Dodawanie metod do istniejących klas
- 9.5. Podklasy
- 9.6. Podsumowanie
10. Moduły
- 10.1. Tworzenie modułów za pomocą klas, obiektów i domknięć
- 10.2. Moduły w środowisku Node
- 10.3. Moduły w języku ES6
- 10.4. Podsumowanie
11. Standardowa biblioteka JavaScript
- 11.1. Zbiory i mapy
- 11.2. Typowane tablice i dane binarne
- 11.3. Wyszukiwanie wzorców i wyrażenia regularne
- 11.4. Daty i czas
- 11.5. Klasy błędów
- 11.6. Format JSON, serializacja i analiza składni
- 11.7. Internacjonalizacja aplikacji
- 11.8. Interfejs API konsoli
- 11.9. Interfejs API klasy URL
- 11.10. Czasomierze
- 11.11. Podsumowanie
12. Iteratory i generatory
- 12.1. Jak działają iteratory?
- 12.2. Implementowanie obiektów iterowalnych
- 12.3. Generatory
- 12.4. Zaawansowane funkcjonalności generatorów
- 12.5. Podsumowanie
13. Asynchroniczność w języku JavaScript
- 13.1. Programowanie asynchroniczne i funkcje zwrotne
- 13.2. Promesy
- 13.3. Słowa kluczowe async i await
- 13.4. Iteracje asynchroniczne
- 13.5. Podsumowanie
14. Metaprogramowanie
- 14.1. Atrybuty właściwości
- 14.2. Rozszerzalność obiektów
- 14.3. Atrybut prototype
- 14.4. Popularne symbole
- 14.5. Znaczniki szablonowe
- 14.6. Obiekt Reflect
- 14.7. Klasa Proxy
- 14.8. Podsumowanie
15. JavaScript w przeglądarkach
- 15.1. Podstawy programowania stron WWW
- 15.2. Zdarzenia
- 15.3. Przetwarzanie dokumentów
- 15.4. Przetwarzanie arkusza stylów
- 15.5. Geometria i przewijanie dokumentu
- 15.6. Komponenty WWW
- 15.7. SVG: skalowalna grafika wektorowa
- 15.8. Grafika w znaczniku
- 15.9. Klasa Audio
- 15.10. Lokalizacja, nawigacja i historia
- 15.11. Sieć
- 15.12. Magazynowanie danych
- 15.13. Wątki robocze i komunikaty
- 15.14. Przykład: zbiór Mandelbrota
- 15.15. Podsumowanie i dalsza lektura
16. Serwery w środowisku Node
- 16.1. Podstawy programowania w środowisku Node
- 16.2. Domyślna asynchroniczność
- 16.3. Bufory
- 16.4. Zdarzenia i klasa EventEmitter
- 16.5. Strumienie
- 16.6. Procesy, procesory i szczegóły systemu operacyjnego
- 16.7. Operacje na plikach
- 16.8. Klienty i serwery HTTP
- 16.9. Klienty i serwery inne niż HTTP
- 16.10. Procesy potomne
- 16.11. Wątki robocze
- 16.12. Podsumowanie
17. Narzędzia i rozszerzenia
- 17.1. Inspekcja kodu za pomocą narzędzia ESLint
- 17.2. Formatowanie kodu za pomocą narzędzia Prettier
- 17.3. Tworzenie testów jednostkowych za pomocą narzędzia Jest
- 17.4. Zarządzanie pakietami za pomocą narzędzia npm
- 17.5. Pakowanie kodu
- 17.6. Transpilacja kodu za pomocą narzędzia Babel
- 17.7. Rozszerzenie JSX: znaczniki w kodzie JavaScript
- 17.8. Sprawdzanie typów danych za pomocą rozszerzenia Flow
- 17.9. Podsumowanie