Назад к вопросам
JuniorТеорияЧасто
На какой строке tsc сообщит об ошибке?
interface Point { x: number; y: number }
const a = { x: 1, y: 2, z: 3 };
const p1: Point = a;
const p2: Point = { x: 1, y: 2, z: 3 };
console.log(p1.x, p2.x);4
- Ждать, что лишний
zне пройдёт и через переменную: на лишние свойства проверяют только свежий литерал, аaна строке 3 сравнивают по форме. - Ждать, что лишние свойства никогда не мешают: литерал, написанный прямо в присваивании, получит ошибку TS2353 из-за
z.
- Как изменить строку 2, чтобы tsc сообщил о лишнем
zи там? - Что сообщит tsc, если литерал со строки 4 передать прямо в функцию, которая принимает
Point?