TypeScript で,{} で初期化したいけど後からプロパティに値が入る可能性がある場合,型アサーションを使って{} as 型
のように書けばよいらしいです.とても基本的なことだと思うのですが,自分の勉強のためにまとめておきます.
以下コード例です.
type Foo = {
bar: string;
hoge: string;
};
let foo = {} as Foo;
foo.bar = "Bar";
ちなみにこれは,以前私が書いた【TypeScript】Unknown型を絞り込みたい! で登場した Record でも書けることに気づきました.でも,わざわざこれで書きたいケースはほぼないと思います.
type Foo = {
bar: string;
hoge: string;
};
let foo = {} as Record<keyof Foo, string>;
foo.bar = "Bar";