◆結
前提として、型安全で引いてくるのは限度がある。
例えばあるオブジェクトの”piyo.a”の値をとりたいときは以下の感じ。
const a = { hoge: "", piyo: { a: "text", b: 100, }, }; const getValue = (s: string, item: object) => s.split(".").reduce<unknown>((p, c) => p?.[c as keyof typeof p], item); const b = getValue("piyo.a", a);
この形を取らざるを得なくなったら設計を見直したほうがいい。何かおかしいことをやろうとすると、こういったおかしいコードを書かされるはめになる。