上級 › 変数経由なら余分なプロパティが通る理由 › パターン4
変数経由なら余分なプロパティが通る理由
オブジェクトリテラルを直接関数に渡すと余分なプロパティはエラーになりますが、いったん変数に代入してから渡すとエラーになりません。
1 interface Coord { 2 x: number; 3 } 4 const raw = { x: 1, y: 2 }; 5 function printCoord(c: Coord): void { 6 console.log(c.x); 7 } 8 printCoord(______________); ^
main.ts(8,20): error TS2353: Object literal may only specify known properties, and 'y' does not exist in type 'Coord'.
空欄を埋めてコンパイルを通す
オブジェクトリテラルを直接渡すと余分なyプロパティがチェックされエラーになります。変数raw経由なら対象外になります。
次の問題