会員とゲストのリストを作成しています。

function App() {
  const persons = {"guest": ["田中"], "member": ["佐藤", "高橋"]}

  return (
    <>
      <p>{persons.guest}</p>
      <p>{persons.member}</p>
    </>
  );
}

image2

このままでも型推論してくれているのですが、guestやmemberに数値が入ってもエラーになりません。

image3

この場合、Recordを使い、キーがguest、memberで、valueがstring[]型にします。

type Roles = Record<"member" | "guest", string[]>

function App() {
  const persons:Roles = {"guest": ["田中"], "member": ["佐藤", "高橋", 23]}

image4

配列内にはstring型のみ指定することができるので、数値を入れたところが、コンパイルエラーになりました。

ブログ一覧