Why TypeScript object can be type-asserted without the required field, only when it has an empty object in it Let’s say I have the following interface defined: