Назад к вопросам
JuniorТеорияЧасто
Что сообщит tsc об этом файле?
interface User {
id: number;
name: string;
email: string;
}
type Preview = Omit<User, "email">;
const p: Preview = { id: 1, name: "Ann", email: "ann@mail.com" };Ошибку: в типе Preview нет свойства email
- Ждать, что
Omitсделаетemailнеобязательным, какPartial: он убирает свойство, и литерал, где оно осталось, не проходит проверку лишних свойств. - Путать
OmitсPick:Omit<User, "email">оставляетidиnameи убирает толькоemail.
- Как записать тот же
PreviewчерезPick? - Почему тот же объект с
emailпроходит, если сначала положить его в переменную?