Задача: описать общий тип Obj, чтобы объект манипулировал либо строками, либо числами. Комбинации типов внутри одного экземпляра не допускаются.
type Obj = {
getId: () => number,
createdAt: number,
};
// **✅**
const a: Obj = { getId: () => 1, createdAt: 1761566635754 };
// **✅**
const b: Obj = {
getId: () => "cool-id",
createdAt: "2025-10-27T12:04:36.762Z",
};
// **❌**
const c: Obj = {
getId: () => 1,
createdAt: "2025-10-27T12:04:36.762Z",
};
🎯 Зачем спрашивают
📝 Ответ
⚖️ Компромиссы
🔎 Встречные вопросы
🚩 Красные флаги
🛠 Практика
📚 Источники / ссылки