pipeline operator

Pipeline Operator

Znacie taką javascriptową wisienkę jak pipeline operator? Ja sama wpadłam na tę konstrukcję całkiem niedawno! Jeszcze tydzień temu myślałam, że szczytem kunsztu designerskiego w kodzie JS są funkcje strzałki. A tymczasem patrzę i widzę takie coś (źródło):

const square = (n) => n * n;
const increment = (n) => n + 1;

// without pipeline operator
square(increment(square(2))); // 25

// with pipeline operator
2 |> square |> increment |> square; // 25

Wow! Buzia sama się uśmiecha na ten widok! Nie wiem jak Wy sądzicie, ale na moje taka konstrukcja niesamowicie przyspieszy kodowanie takich zagnieżdżonych funkcji.

A właśnie. Zagnieżdżone funkcje. One mają swoją nazwę w JS, mianowicie pipe functions. Więcej o nich przeczytacie np. TUTAJ.

Warto wspomnieć, że ten operator to wcale nie jest świeża sprawa. Od dawna znany jest w innych językach programowania. Również od lat próbuje się go przemycić do Javascriptu. Miał wejść do ES7, a tu 2 wiosny minęły i nic. Wydaje się jednak, że już niedługo nasz pipeline operator wyjdzie z javascriptowych podziemi. Na razie leży w drafcie (szczegółu TU i TU). Mimo to Babel oferuje plugin, dzięki któremu możecie skorzystać z owego dobrodziejstwa już dziś.

Jeden z moich najulubieńszych javascriptowych youtuberów nagrał świetny filmik o operatorze pipeline oraz generalnie o programowaniu funkcyjnym. Gorąco polecam Wam na niego zerknąć.


Co sądzicie o tej konstrukcji? Bajer czy błogosławieństwo? Piszcie w komentarzach!

Artykuły, które mogą Ci się spodobać...

Wpisz hasło, którego szukasz i naciśnij ENTER, aby je wyszukać. Naciśnij ESC, aby anulować.

Dawaj na górę