ブックマーク / scrapbox.io/nishio (2)

  • anyをunknownに変える - 西尾泰和のScrapbox

    TypeScriptで手抜きしてanyを使っている箇所って「自分の書いたコードだけど型をきちんと書くのが面倒だからanyにしてる」って場合と「サードパーティのライブラリからやってくる値で、型がなんなのか調べるのが面倒だからanyにしている」ってケースがある。 例えば後者の例で、Firestoreから取ってきたドキュメントオブジェクトの型がよくわからないのでanyにしていた。 code:ts (doc: any) => { ... } これをunknownに変えると… code:ts (doc: unknown) => { ... } unknownにexistsが生えてるからどうか知らないぞ、と指摘される。 きちんとした型をつける必要があるのだが、どうすれば良いか? code:ts if (doc.exists) { // ERROR: Object is of type 'unknown

    anyをunknownに変える - 西尾泰和のScrapbox
  • 2021年のTypeScriptベストプラクティス - 西尾泰和のScrapbox

    5: テストコードで、型の要求を部分的にしか満たさないアドホックなオブジェクトをanyにキャストしてモックとして使うのではなく、ちゃんとしたモックを一箇所で定義してそれを使え 6: オブジェクトの種類によってあるプロパティを持っていたり持っていなかったりする時に、?でオプショナルなプロパティにするのではなく、どういう種類の時に持っているのかをインターフェースで明示せよ

    2021年のTypeScriptベストプラクティス - 西尾泰和のScrapbox
  • 1