Efektywny JavaScript. 68 sposobów wykorzystania potęgi języka - Helion
Tytuł oryginału: Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript
TÅ‚umaczenie: Tomasz Walczak
ISBN: 978-83-283-1418-4
stron: 216, Format: 168x237, okładka: miękka
Data wydania: 2015-10-26
Księgarnia: Helion
Cena książki: 39,90 zł
68 sposobów na wykorzystanie możliwoÅ›ci JavaScriptu
JavaScript jeszcze do niedawna kojarzyÅ‚ siÄ™ gÅ‚ównie ze stronami oraz aplikacjami internetowymi, a jego gÅ‚ównym zastosowaniem byÅ‚y operacje na drzewie DOM. Jednak te czasy mijajÄ…, a jÄ™zyk ten jest coraz chÄ™tniej wykorzystywany również po stronie serwera. JavaScript jako peÅ‚noprawny jÄ™zyk programowania? OczywiÅ›cie! W dodatku okazuje siÄ™, że może on być bardzo wydajny, elastyczny i przyjazny dla programistów — wystarczy przestrzegać kilku zasad!Te tajemnicze zasady zostaÅ‚y zebrane w niniejszej książce. JeÅ›li bÄ™dziesz o nich pamiÄ™tać, wykorzystasz w peÅ‚ni potencjaÅ‚ JavaScriptu. W trakcie lektury dowiesz siÄ™, jak najlepiej deklarować zmienne, używać funkcji oraz radzić sobie z obiektami i prototypami. W kolejnych rozdziaÅ‚ach nauczysz siÄ™ budować przyjazne API oraz korzystać ze sÅ‚owników i tablic. Na sam koniec zdobÄ™dziesz informacje, które majÄ… kluczowe znaczenie w przypadku programowania wspóÅ‚bieżnego. Jeżeli jesteÅ› programistÄ… jÄ™zyka JavaScript, jeżeli chcesz poprawić swoje umiejÄ™tnoÅ›ci programowania w tym jÄ™zyku, jest to dla Ciebie lektura obowiÄ…zkowa. Przekonaj siÄ™, jak przyjemne i wydajne może być programowanie w JavaScripcie!
Oto kluczowe obszary poruszane w książce:
- Lepsze metody programowania obiektowego opartego na prototypach
- Niuanse i rozwiązania dotyczące pracy z obiektami reprezentującymi tablice i słowniki
- Precyzyjne i praktyczne wyjaśnienie procesu określania zasięgu funkcji i zmiennych w JavaScripcie
- Przydatne wzorce i idiomy programowania w JavaScripcie (na przykład obiekty z opcjami i łańcuchy metod)
- DokÅ‚adny przewodnik po stosowanym w JavaScripcie wyjÄ…tkowym modelu obsÅ‚ugi wspóÅ‚bieżnoÅ›ci — wykonywaniu zadaÅ„ do ich ukoÅ„czenia
Książka jest podzielona na wzbogacone przykÅ‚adami opisy 68 sprawdzonych metod pisania lepszego kodu w JavaScripcie. Dowiesz siÄ™ tu, jak wybrać odpowiedni styl programowania dla poszczególnych projektów, radzić sobie z nieoczekiwanymi problemami i z powodzeniem pracować z wszystkimi aspektami JavaScriptu — od struktur danych po mechanizmy wspóÅ‚bieżne.
Najlepsze porady dotyczące JavaScriptu dla każdego programisty!
Osoby które kupowały "Efektywny JavaScript. 68 sposobów wykorzystania potęgi języka", wybierały także:
- D3.js w akcji 67,42 zł, (20,90 zł -69%)
- Tablice informatyczne. Node.js 16,86 zł, (5,90 zł -65%)
- React i GatsbyJS. Kurs video. Nowoczesne strony internetowe w oparciu o headless CMS i GraphQL 148,98 zł, (59,59 zł -60%)
- TypeScript i React. Kurs video. Tworzenie nowoczesnych komponent 129,00 zł, (51,60 zł -60%)
- Vue.js w praktyce. Kurs video. Poznaj narz 148,98 zł, (59,59 zł -60%)
Spis treści
Efektywny JavaScript. 68 sposobów wykorzystania potęgi języka -- spis treści
Przedmowa (11)
Wprowadzenie (13)
Podziękowania (15)
O autorze (17)
Rozdział 1. Przyzwyczajanie się do JavaScriptu (19)
- Sposób 1. Ustal, której wersji JavaScriptu używasz (19)
- Sposób 2. Liczby zmiennoprzecinkowe w JavaScripcie (24)
- Sposób 3. Uważaj na niejawnÄ… konwersjÄ™ typu (27)
- Sposób 4. Stosuj typy proste zamiast nakÅ‚adek obiektowych (32)
- Sposób 5. Unikaj stosowania operatora == dla wartoÅ›ci o różnych typach (34)
- Sposób 6. Ograniczenia mechanizmu automatycznego dodawania Å›redników (37)
- Sposób 7. Traktuj Å‚aÅ„cuchy znaków jak sekwencje 16-bitowych jednostek kodowych (43)
Rozdział 2. Zasięg zmiennych (47)
- Sposób 8. Minimalizuj liczbÄ™ obiektów globalnych (47)
- Sposób 9. Zawsze deklaruj zmienne lokalne (50)
- Sposób 10. Unikaj sÅ‚owa kluczowego with (51)
- Sposób 11. Poznaj domkniÄ™cia (54)
- Sposób 12. Niejawne przenoszenie deklaracji zmiennych na poczÄ…tek bloku (czyli hoisting) (57)
- Sposób 13. Stosuj wyrażenia IIFE do tworzenia zasiÄ™gu lokalnego (59)
- Sposób 14. Uważaj na nieprzenoÅ›ne okreÅ›lanie zasiÄ™gu nazwanych wyrażeÅ„ funkcyjnych (62)
- Sposób 15. Uważaj na nieprzenoÅ›ne okreÅ›lanie zasiÄ™gu lokalnych deklaracji funkcji w bloku (65)
- Sposób 16. Unikaj tworzenia zmiennych lokalnych za pomocÄ… funkcji eval (67)
- Sposób 17. PrzedkÅ‚adaj poÅ›rednie wywoÅ‚ania eval nad bezpoÅ›rednie wywoÅ‚ania tej funkcji (68)
Rozdział 3. Korzystanie z funkcji (71)
- Sposób 18. Różnice miÄ™dzy wywoÅ‚aniami funkcji, metod i konstruktorów (71)
- Sposób 19. Funkcje wyższego poziomu (74)
- Sposób 20. Stosuj instrukcjÄ™ call do wywoÅ‚ywania metod dla niestandardowego odbiorcy (77)
- Sposób 21. Stosuj instrukcjÄ™ apply do wywoÅ‚ywania funkcji o różnej liczbie argumentów (79)
- Sposób 22. Stosuj sÅ‚owo kluczowe arguments do tworzenia funkcji wariadycznych (81)
- Sposób 23. Nigdy nie modyfikuj obiektu arguments (82)
- Sposób 24. Używaj zmiennych do zapisywania referencji do obiektu arguments (84)
- Sposób 25. Używaj instrukcji bind do pobierania metod o staÅ‚ym odbiorcy (85)
- Sposób 26. Używaj metody bind do wiÄ…zania funkcji z podzbiorem argumentów (technika currying) (87)
- Sposób 27. Wybieraj domkniÄ™cia zamiast Å‚aÅ„cuchów znaków do hermetyzowania kodu (88)
- Sposób 28. Unikaj stosowania metody toString funkcji (90)
- Sposób 29. Unikaj niestandardowych wÅ‚aÅ›ciwoÅ›ci przeznaczonych do inspekcji stosu (92)
Rozdział 4. Obiekty i prototypy (95)
- Sposób 30. Różnice miÄ™dzy instrukcjami prototype, getPrototypeOf i __proto__ (95)
- Sposób 31. Stosuj instrukcjÄ™ Object.getPrototypeOf zamiast __proto__ (99)
- Sposób 32. Nigdy nie modyfikuj wÅ‚aÅ›ciwoÅ›ci __proto__ (100)
- Sposób 33. Uniezależnianie konstruktorów od instrukcji new (101)
- Sposób 34. Umieszczaj metody w prototypach (103)
- Sposób 35. Stosuj domkniÄ™cia do przechowywania prywatnych danych (105)
- Sposób 36. Stan egzemplarzy przechowuj tylko w nich samych (107)
- Sposób 37. Zwracaj uwagÄ™ na niejawne wiÄ…zanie obiektu this (109)
- Sposób 38. WywoÅ‚ywanie konstruktorów klasy bazowej w konstruktorach klas pochodnych (111)
- Sposób 39. Nigdy nie wykorzystuj ponownie nazw wÅ‚aÅ›ciwoÅ›ci z klasy bazowej (115)
- Sposób 40. Unikaj dziedziczenia po klasach standardowych (117)
- Sposób 41. Traktuj prototypy jak szczegóÅ‚ implementacji (119)
- Sposób 42. Unikaj nieprzemyÅ›lanego stosowania techniki monkey patching (120)
Rozdział 5. Tablice i słowniki (123)
- Sposób 43. Budowanie prostych sÅ‚owników na podstawie egzemplarzy typu Object (123)
- Sposób 44. Stosuj prototypy null, aby uniknąć zaÅ›miecania przez prototypy (126)
- Sposób 45. Używaj metody hasOwnProperty do zabezpieczania siÄ™ przed zaÅ›miecaniem przez prototypy (128)
- Sposób 46. Stosuj tablice zamiast sÅ‚owników przy tworzeniu kolekcji uporzÄ…dkowanych (132)
- Sposób 47. Nigdy nie dodawaj enumerowanych wÅ‚aÅ›ciwoÅ›ci do prototypu Object.prototype (134)
- Sposób 48. Unikaj modyfikowania obiektu w trakcie enumeracji (136)
- Sposób 49. Stosuj pÄ™tlÄ™ for zamiast pÄ™tli for...in przy przechodzeniu po tablicy (140)
- Sposób 50. Zamiast pÄ™tli stosuj metody do obsÅ‚ugi iteracji (142)
- Sposób 51. Wykorzystaj uniwersalne metody klasy Array w obiektach podobnych do tablic (146)
- Sposób 52. PrzedkÅ‚adaj literaÅ‚y tablicowe nad konstruktor klasy Array (148)
RozdziaÅ‚ 6. Projekty bibliotek i interfejsów API (151)
- Sposób 53. Przestrzegaj spójnych konwencji (151)
- Sposób 54. Traktuj wartość undefined jak brak wartoÅ›ci (153)
- Sposób 55. Stosuj obiekty z opcjami do przekazywania argumentów za pomocÄ… sÅ‚ów kluczowych (157)
- Sposób 56. Unikaj niepotrzebnego przechowywania stanu (161)
- Sposób 57. OkreÅ›laj typy na podstawie struktury, aby tworzyć elastyczne interfejsy (164)
- Sposób 58. Różnice miÄ™dzy tablicami a obiektami podobnymi do tablic (167)
- Sposób 59. Unikaj nadmiernej koercji (171)
- Sposób 60. ObsÅ‚uga Å‚aÅ„cuchów metod (174)
RozdziaÅ‚ 7. WspóÅ‚bieżność (179)
- Sposób 61. Nie blokuj kolejki zdarzeÅ„ operacjami wejÅ›cia-wyjÅ›cia (180)
- Sposób 62. Stosuj zagnieżdżone lub nazwane wywoÅ‚ania zwrotne do tworzenia sekwencji asynchronicznych wywoÅ‚aÅ„ (183)
- Sposób 63. PamiÄ™taj o ignorowanych bÅ‚Ä™dach (187)
- Sposób 64. Stosuj rekurencjÄ™ do tworzenia asynchronicznych pÄ™tli (190)
- Sposób 65. Nie blokuj kolejki zdarzeÅ„ obliczeniami (193)
- Sposób 66. Wykorzystaj licznik do wykonywania wspóÅ‚bieżnych operacji (197)
- Sposób 67. Nigdy nie uruchamiaj synchronicznie asynchronicznych wywoÅ‚aÅ„ zwrotnych (201)
- Sposób 68. Stosuj obietnice, aby zwiÄ™kszyć przejrzystość asynchronicznego kodu (203)
Skorowidz (207)