Nowoczesny JavaScript Poznaj ES6 i praktyczne zastosowania nowych rozwiazan.pdf

(1430 KB) Pobierz
Tytuł oryginału: Practical Modern JavaScript: Dive into ES6 and the Future of JavaScript
Tłumaczenie: Inez Okulska-Stanisławska
ISBN: 978-83-283-4229-3
© 2018 Helion S.A.
Authorized Polish translation of the English edition of Practical Modern JavaScript, ISBN 9781491943533 ©
2017 Nicolás Bevacqua
This translation is published and sold by permission of O’Reilly Media, Inc.,
which owns or controls all rights to publish and sell the same.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane
z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie
ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/nojspo
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
Przedmowa ................................................................................................................ 7
Wstęp ......................................................................................................................... 9
1. ECMAScript i przyszłość JavaScriptu ............................................................................ 13
1.1. Krótka historia standardów języka JavaScript
1.2. ECMAScript jako żywy standard
1.3. Obsługa przeglądarek i dodatkowe narzędzia
1.4. Kategorie nowych możliwości ES6
1.5. Przyszłość JavaScriptu
13
15
17
24
25
2. Najistotniejsze elementy ES6 ..................................................................................... 27
2.1. Literały obiektu
2.2. Funkcje strzałki
2.3. Destrukturyzacja przypisania
2.4. Parametr resztowy i operator rozłożenia
2.5. Literały szablonu
2.6. Instrukcje let oraz const
27
31
35
41
44
49
3. Klasy, symbole, obiekty i dekoratory .......................................................................... 57
3.1. Klasy
3.2. Symbole
3.3. Ulepszenia obiektu wbudowanego Object
3.4. Dekoratory
57
64
71
76
4. Iterowanie i sterowanie przepływem ......................................................................... 81
4.1. Obietnice
4.2. Protokół iteratorów oraz protokół obiektów iterowalnych
4.3. Funkcje i obiekty generatora
4.4. Funkcje asynchroniczne
4.5. Asynchroniczna iteracja
81
96
106
122
131
5
Kup książkę
Poleć książkę
5. Wykorzystanie kolekcji ECMAScript .......................................................................... 135
5.1. Użycie map ES6
5.2. Zrozumienie i wykorzystanie WeakMap
5.3. Zbiory w ES6
5.4. Słabe zbiory WeakSets
137
142
144
146
6. Zarządzanie dostępem do właściwości obiektu za pomocą obiektu Proxy .................. 149
6.1. Pierwsze kroki z proxy
6.2. Unieważniające obiekty proxy
6.3. Pułapki proxy
6.4. Zaawansowane pułapki obiektu Proxy
149
155
156
163
7. Ulepszenia obiektów wbudowanych w ES6 .............................................................. 175
7.1. Liczby
7.2. Math
7.3. Ciągi tekstowe oraz Unicode
7.4. Wyrażenia regularne
7.5. Tablice
175
184
188
199
208
8. Moduły JavaScript ................................................................................................... 217
8.1. CommonJS
8.2. Moduły JavaScript
8.3. Praktyczne rozważania na temat modułów ES
217
221
229
9. Rozważania praktyczne ........................................................................................... 233
9.1. Deklaracje zmiennych
9.2. Literały szablonu
9.3. Zwięzły zapis i destrukturyzacja obiektu
9.4. Parametr resztowy i operator rozłożenia
9.5. Odmiany funkcji
9.6. Klasy i proxy
9.7. Asynchroniczny przepływ programu
9.8. Dziwactwa złożoności, abstrakcje i konwencje
233
237
241
243
246
249
252
256
Skorowidz ............................................................................................................... 257
6
Spis treści
Poleć książkę
Kup książkę
ROZDZIAŁ 2.
Najistotniejsze elementy ES6
Szósta edycja języka oferuje szeroki wachlarz ulepszeń składni, które nie wprowadzają zmian ła-
miących kompatybilność wsteczną i które omówię w tym rozdziale. Wiele z nich to po prostu lukier
składniowy, czyli możliwości, które mogły pojawić się już w ES5, ale przy użyciu bardziej skom-
plikowanych fragmentów kodu. Są też jednak zmiany, które nie są jedynie ozdobnikami, lecz ofe-
rują całkowicie nowy sposób deklaracji zmiennych przy użyciu
let
oraz
const
, o czym przeko-
nasz się pod koniec tego rozdziału.
W literałach obiektu w ES6 również wprowadzono parę zmian i od nich zacznę.
2.1. Literały obiektu
Literałem obiektu
jest każda deklaracja obiektu używająca zapisu klamrowego
{}
, tak jak w poniż-
szym przykładzie.
var book = {
title: 'Modular ES6',
author: 'Nicolas',
publisher: 'O´Reilly'
}
ES6 wnosi do składni literałów obiektu kilka ulepszeń, takich jak skrócone definiowanie właści-
wości, generowane nazwy właściwości i definicje metod. Przyjrzyjmy się bliżej tym możliwościom
i potencjalnym przykładom ich zastosowania.
2.1.1. Zwięzła deklaracja właściwości
Czasem deklarujemy obiekty z jedną właściwością lub wieloma właściwościami; ich wartościami są
referencje do zmiennych o tej samej nazwie. Możemy np. mieć kolekcję
listeners
i w celu przy-
pisania do właściwości nazwanej
listeners
literału obiektu musimy powtórzyć tę nazwę. Poniższy
fragment kodu pokazuje typowy przykład, gdzie mamy deklarację literału obiektu z kilkoma ta-
kimi powtarzającymi się właściwościami.
var listeners = []
function listen() {}
var events = {
listeners: listeners,
listen: listen
}
27
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin