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

Prism.jsのローカル環境と本番環境の差分、配列から特定の型を除外するのにflatMapが便利な感じの記事

ローカル開発環境と本番環境の差分を確認してみる

↑ これ見えてるか分からないんだけど、miyaoka さんにリプライをもらい、本番環境ではyarn devじゃなくてyarn buildした成果物を配信しているので、ローカルでyarn buildして確認してみたら?というやつ。

昨日に書いたとおり、ローカル環境では再現しないで本番環境だけで起こっているので、やってみようと思う(まだやってない)

ちなみに、もしかしてyarn add -D prism.jsした?と思って package.json を確認してみたけどそんなことはなかった(し、たしか devDependencies でも大丈夫っちゃ大丈夫みたいな記事をどっかで見た気がする)

flatMap の記事

[TypeScript] .filter((x): x is T => ...) を使わずに配列から特定の型を除外する

flatMap の存在は知っていたしそもそもこのプロダクトでも使っているんだけど、むしろx is Tという書き方を知らなかった。

filter とx is Tで特定の型を配列内から除外するには、flatMap を使わないとこんな感じだったんだ……。

x is T形式の宣言は戻り値の型検査が行われないと書いてあるけど、それは今回の例ではっていうことなのだろうか?

array.filter((x): x is string => x !== null)というコードだけど、これであれば戻り値は string で確定していそうな感じもするが……?

TypeScript でみかける"is"というキーワードについて - ひと夏の技術

これを見る感じできてそうな気もする。もしかして僕が全然分かっていない……?