book
book copied to clipboard
TypeScriptでPartialを使わない方がいいことに関する記事を発見
TypeScriptでPartical
を使わないことを推奨するZenn記事を発見したので共有。
type Item = {
name: string;
price: number;
}
type ItemStore = Partial<Item>;
const initialValue: ItemStore = {};
上記の場合、store
だと毎回全てのプロパティの有無を確認しなければならない。
type ItemStore = Item | undefiend;
const initialValue: ItemStore = undefined;
こうすることで、store
がundefined
かどうかを確認するだけでいいのでリファクタリングの手間が省ける。(基本的にはすべての値が揃ってからもらう、または初期値を用意する、あるいは部分的にundefinedを許容するなどしたほうが扱いやすい)
参照
- https://typescriptbook.jp/reference/type-reuse/utility-types/partial
- https://zenn.dev/bom_shibuya/articles/8565ba948a1629
一概にPartial
に問題があるというよりは、オブジェクトの不変条件をどう考えるかといった設計上の意思決定によってPartial
を使うべきかどうかを判断するものと考えられます。
いまのところオブジェクトの設計までは本書では踏み込んでないのと、あまり一般的な意見としては聞いたことがない主張なので、取り上げない方向性が現状は強いです。