TypeScript

lodash 互換の debounce と throttle だけを提供するライブラリを作った

最近は ECMAScript 自身の機能も豊富になってきて lodash のユーティリティ関数の出番はだいぶ少なってきたけど、debounce と throttle だけは未だに使う機会がまあまあある。 しかし、lodash は何も考えずに使うとバンドルサイズが肥大化するのでいい感じに…

TypeScript でジェネリクスの部分的な型推論ができない

const obj: any = { a: 1, b: "x" }; function foo<T, U>(x: U): [T, U] { return [obj[x], x]; } こういうコードがあったとする。コードの良し悪しは置いといて、U は引数から推論して、T は呼び出す側から指定したいというケース。 // こう書きたいけどエラー foo<number></number></t,>…

TypeScriptのLint

JavaScriptもTypeScriptも混じっているプロジェクトで、Lintのルールをなるべく共通化して運用したいというモチベーションがある。 JavaScriptのLinterはESLintを使いたい。TypeScriptのLinterはTSLintがデファクトだが、TSLintはESLintと比べて実装されてい…