全てオプショナルのプロパティを持つ型からオプショナルを外す

2/17/2024

例えばこんな型

 user?: {
      id?: string | null;
      image?: string | null;
      name?: string | null;
      hobby?: string | null;
    } | null;

これをフロントで取り回すとなると扱いにくい場合がある

userのプロパティが存在しない場合は非表示という要件だった場合

userの存在確認をして

各プロパティの存在確認をしてとなる

なのでせめてこうして↓、userの有無だけの確認で済ませたいという場合

type RemoveNullable = {
  [K in keyof T]-?: NonNullable;
};

この型を使ってプロパティのオプショナル、nullの可能性を排除することができると教えてもらいました

以上