上級 › 型注釈(: Type)はプロパティを消さずに「見えなく」する。satisfiesとの違い › パターン2
型注釈(: Type)はプロパティを消さずに「見えなく」する。satisfiesとの違い
変数に: Typeという型注釈を付けると、その型に無いプロパティへのアクセスができなくなります。
1 type Item = { name: string }; 2 const raw = { name: "Pen", price: 100 }; 3 ________________________________ ^ 4 console.log(item.price);
main.ts(4,18): error TS2339: Property 'price' does not exist on type 'Item'.
空欄を埋めてコンパイルを通す
: Itemという型注釈を付けるとitem自体の型がItemに絞られ、実際には残っているpriceへアクセスできなくなります。satisfiesならrawの元の型が保たれます。
次の問題