- [[Typo]]で[[undefined (JavaScript)|undefined]]になって、それを引数に入れてしまって実行中に関数が落ちるはよくある
- [[Typo]]はプロパティの型定義で拾えるし、[[undefined (JavaScript)|undefined]]も関数の引数型定義で拾える
- `if (Math.random > 0.5)` も超分かりみ
- [[tsc]]
- [[noEmitOnError (tsconfig)|noEmitOnError]]オプション
- [[noEmit (tsconfig)|noEmit]]オプションとの違いも添えて
- `Date()`って`string`なのか...
> it’s best not to add annotations when the type system would end up inferring the same type anyway.
変数については同意。ただ関数についてはちゃんと書いてほしい。読みにくいし、意図した型なのか、そうでないのかが分からないから。。
3つの状態があるからややこしい
- [[tsconfig.json]]なし (defaultを強く意識)
- `tsc --init` (オススメができる)
- `@tsconfig` (フレームワークごとのオススメ)
- [[Type Annotations]]とか思い出した
- [[target (tsconfig)|target]]のデフォルトは[[ES3]]だが、現在のブラウザ状況的に[[ES2015]]ならまず安全