efektywny javascript. 68 sposobów wykorzystania potęgi języka pełna wersja.pdf

(11216 KB) Pobierz
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
Kup książkę
Poleć książkę
8
Spis tre ci
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
Kup książkę
Poleć książkę
Spis tre ci
9
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
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
Kup książkę
Poleć książkę
10
Spis tre ci
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
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin