Назад к вопросам
JuniorТеорияЧасто
Что сообщит tsc об этом файле?
type User = { name: string; age?: number };
const u: User = { name: "Ann" };
console.log(u.age + 1);Ошибку: u.age может быть undefined
- Ждать, что tsc пропустит
u.age + 1и выведетсяNaN: необязательное свойство читается какnumber | undefined, и считать с ним можно только после проверки или с??. - Ждать, что в литерале обязателен
age: знак?делает свойство необязательным, и{ name: "Ann" }— подходящийUser; осторожность нужна при использованииage.
- Как исправить строку 3, чтобы отсутствующий возраст считался за
0? - Чем
age?: numberотличается отage: number | undefined?