Страницы

пятница, 21 апреля 2017 г.

TypeScript Curry

Начал потихоньку писать файлы объявлений к существующему коду и почти сразу же попал на непростые задачи, такие как, например, сигнатура функции каррирования, по-моему не самый простой вопрос. И вот как я его решал: погуглил, как говорится, в гугле, и получилось... что получилось, не без недостатков, если бы была возможность использовать вложенные дженерики, могло бы получиться лучше, тем не менее в моем случае решает. Вот как-нибудь так:

воскресенье, 9 апреля 2017 г.

VS Code JavaScript Intellisense

Не смотря на то, что с TypeScript я познакомился еще до появления на свет Visual Studio Code, мне еще ни разу не довелось использовать его в повседневной работе. Пишу на ES6 (Node.js), стараюсь документировать код с помощью jsdoc, но зачастую одних только комментов не хватает для того, чтобы intellisense подсказал мне с чем я имею дело в текущий момент времени, а иногда очень хотелось бы (и не мне одному), поэтому я решил попробовать миксовать declaration files с "vanilla JS".

суббота, 1 апреля 2017 г.

Safely Accessing Deeply Nested Values In JavaScript

Весь этот функциональный хайп начинает действовать на нервы, честное слово. На днях прочитал пару постов о вариантах реализации доступа к свойствам объекта в JavaScript, и у меня возникли вопросы к авторам по коду. К примеру зачем в случае отсутствия свойства объекта возвращать null, тогда как "канонически" это undefined? Для того чтобы притянуть это за уши к Maybe? Или какого коллайдера вместо цикла использовать функцию высшего порядка? Для "красоты"? Супер полезная абстракция, согласен, зачастую очень даже уместная, но это не тот случай.