1: strictを使え
2:
||
ではなく??
を使うか、そもそもデフォルト引数を使え3: 型としてanyを使うのではなくunknownを使え
4: asで型キャストするのではなく、型ガードでテストして型が違えばthrowするようにせよ
5: テストコードで、型の要求を部分的にしか満たさないアドホックなオブジェクトをanyにキャストしてモックとして使うのではなく、ちゃんとしたモックを一箇所で定義してそれを使え
6: オブジェクトの種類によってあるプロパティを持っていたり持っていなかったりする時に、?でオプショナルなプロパティにするのではなく、どういう種類の時に持っているのかをインターフェースで明示せよ
7: ジェネリクスの型変数も変数なので一文字変数は避けよう
8: 真偽値でないものを条件式にしないで、明示的に比較演算子を使おう
9: 真偽値でないものを真偽値にするために
!!
を使うのではなく、明示的に比較演算子を使おう10: nullとundefinedを同一視して
!= null
で条件分岐をするのではなく、undefinedとnullを区別して!== null
と!== undefined
を使い分けよ
なるほど