上級 › 型注釈(: Type)はプロパティを消さずに「見えなく」する。satisfiesとの違い › パターン3
型注釈(: Type)はプロパティを消さずに「見えなく」する。satisfiesとの違い
変数に: Typeという型注釈を付けると、その型に無いプロパティへのアクセスができなくなります。
1 type Config = { mode: string }; 2 const raw = { mode: "dark", debug: true }; 3 _________________________________ ^ 4 console.log(cfg.debug);
main.ts(4,17): error TS2339: Property 'debug' does not exist on type 'Config'.
空欄を埋めてコンパイルを通す
: Configという型注釈はcfgの型をConfigに絞り込みます。実行時にはdebugが残っていても、型の上ではアクセスできません。satisfiesなら元の型のままdebugにアクセスできます。
次の問題