Code Fix

上級 › 型注釈(: Type)はプロパティを消さずに「見えなく」する。satisfiesとの違い › パターン5

型注釈(: Type)はプロパティを消さずに「見えなく」する。satisfiesとの違い

変数に: Typeという型注釈を付けると、その型に無いプロパティへのアクセスができなくなります。

 1  type Setting = { key: string };
 2  const raw = { key: "vol", value: 10 };
 3  ______________________________________
                       ^
 4  console.log(setting.value);
main.ts(4,21): error TS2339: Property 'value' does not exist on type 'Setting'.

空欄を埋めてコンパイルを通す

広告
広告スロット(未設定)

型注釈(: Type)はプロパティを消さずに「見えなく」する。satisfiesとの違い

実行時にはプロパティ自体は残っていますが、型の上では「そんなものは無い」ものとして扱われます。satisfiesは元の値の型をそのまま保つため、この制限を受けません。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)