技術とかの雑なToday I Learnedメモ

reduce のジェネリクス、TSのバージョン確認

reduce のジェネリクス、TS のバージョン確認

reduce のジェネリクス

Array.prototype.reduce を TypeScript で書くときに、だいたい第二引数の initialValue に型アサーションをつけることが多かったんだけど、チームメンバーがジェネリクスを使えばいいというのを発見してテンションが上がった。

手元の TypeScript は 4.3.5。

reduce を書くときに以下のように書く。

const hoge = arr.reduce<HogeArr>((acc, currentValue) => {
  // 処理
}, [])

今までは第二引数の部分を[] as HogeArrと書いていたが、ジェネリクスを渡すことで初期値も accumulator も HogeArr 型であることが推論されて、かつどんな型なのかも見ただけですぐに理解できるのでとてもよい。

特定のリポジトリで使ってる TypeScript のバージョン確認

↑ でバージョン確認するときにどうやってやるのか分からなくてググった。

typescript のバージョンを確認する | mebee

マシンに入れてる TS じゃなくてリポジトリ内で使われてる TS のバージョンを知りたかったので、package.json の scripts に"ts": "tsc -v"とわざわざ一時的に記述してyarn tsで確認した。

たぶん./node_modules/....で tsc 叩いても同じっぽいけど、これであってるのかな。