Wpisy z kategorii JavaScript
Strona 4
-
O abstrakcji słów kilka
Ostatnio miałem przyjemność przeczytać książkę Nicholása Bevacquy Mastering Modular JavaScript. Z racji tego, że książka ta porusza bardzo szeroko rolę abstrakcji w tworzeniu oprogramowania, stwierdziłem, że najwyższy czas spisać także garść własnych przemyśleń.
-
Bujając się na gałęzi AST
Istnieją rzeczy, na które zwykle nie zwracamy jakiejkolwiek uwagi, po prostu przyjmując ich istnienie za pewnik lub nie musząc się nimi całkowicie przejmować. Wiele takich rzeczy jest i w JS-ie – rzeczy, o które nie musimy się martwić w czasie codziennej pracy (no, chyba że rozwijasz Babela czy innego Rollupa; wówczas te rzeczy są Twoją pracą…). Przyjrzymy się dzisiaj jednej z takich rzeczy – AST.
-
Przesunięcie sourcemapy
W ten weekend mierzyłem się z kolejnym błędem w moim najsłynniejszym projekcie na GitHubie – niepoprawnym generowaniem sourcemapy. Problem okazał się na tyle ciekawy, że postanowiłem go opisać.
-
Niestandardowe zdarzenia w workerach
W przypadku skryptów korzystających z DOM stworzenie własnych, niestandardowych zdarzeń jest banalnie proste i sprowadza się do utworzenia nowej instancji
CustomEvent
. Ten sposób jednak nie (do końca) działa w przypadku workerów, które nie mają dostępu do DOM. Co zatem zrobić w takim wypadku? -
Kwacze jak kaczka…
Typy proste w JavaScript są nieco specyficzne, bo można ich używać jak obiekty. W końcu kto z nas nie użył nigdy metody
replace
na zwykłym ciągu tekstowym? Ale czy da się zrobić na odwrót, czyli potraktować obiekty jak typy proste? -
Uniwersalny getter
Chociaż magia niezbyt idzie w parze z programowaniem, to mimo to polubiłem PHP-owe metody magiczne, wśród których chyba najbardziej przypadło mi do gustu
__get
. Ta prosta metoda pozwalała przechwycić odwołania do nieistniejących pól klasy:<?php class Test { public $iAmAlive = 'nope'; public function __get( $var ) { return $var . ' value'; } } $test = new Test(); var_dump( $test->test ); // test value var_dump( $test->qwerty ); // qwerty value var_dump( $test->iAmAlive ); // nope
W przypadku JS-a nie było to, niestety, możliwe. Aż do ES6…
-
Jednoplikowe komponenty
Chyba każdy, kto miał styczność z frameworkiem Vue, słyszał również o jego jednoplikowych komponentach. Ten super prosty pomysł pozwala definiować cały kod odpowiedzialny za konkretny komponent w jednym pliku. Jest to na tyle dobre rozwiązanie, że pojawiła się inicjatywa przeniesienia tego mechanizmu do przeglądarek. Niemniej – stanęła w miejscu i od sierpnia tamtego roku nic się nie wydarzyło. Mimo to myślę, że spojrzenie na ten problem i próba dostosowania go do przeglądarki jest ciekawym zagadnieniem, którym się dzisiaj zajmiemy.
-
Asynchroniczny DOM
Ostatnio natrafiłem na artykuł opisujący, jak działa React Fiber i doznałem momentu z cyklu “hej, przecież ja to znam!”. Ba, koncept użyty w React 16 do polepszenia wydajności posłużył mi do napisania sporej części mojej książki. Dlatego dzisiaj zapraszam na krótką podróż po meandrach (a)synchronicznego DOM-u.
-
TDZ
Piekło zamarzło! Przyszedł dzień, w którym Comandeer posypuje głowę popiołem i przyznaje się do błędu.
-
Interfejsy w JS
Wszyscy kochamy Javę, dlatego wszyscy chcemy interfejsów w JS, prawda?