TypeScript · Junior · Запитання 46 з 75
Що станеться під час передавання об'єктного літерала із зайвою властивістю?
type User = { name: string };
const u: User = { name: 'Ann', age: 30 };- ✓Правильна відповідь: Помилка: для літералів діє перевірка зайвих властивостей
- 2Усе гаразд: зайві властивості завжди дозволені
- 3Властивість
ageмовчки видалиться під час компіляції
Пояснення
Excess property check спрацьовує лише для свіжих об'єктних літералів - це захист від помилок у назвах. Якщо спершу покласти об'єкт у змінну, а потім присвоїти, помилки не буде (структурна сумісність). Компілятор нічого не видаляє.