const obj1: object = {};
obj1.value1 = 'A';
// 動作はするが下記のエラーがVSCodeに表示される
// Property 'value1' does not exist on type 'object'.(2339)
console.log({obj1});
object「型」なのに、代入したら
その時点でのプロパティを持っているかどうかで型が勝手に限定されるらしい。
下記のように書くとよい。
const obj2: {[prop: string]: any} = {};
obj2.value1 = 'B';