14 / 58
Что такое оператор in как type guard?
Оператор in проверяет наличие свойства в объекте, и TypeScript использует это для сужения типа. Если у тебя union из нескольких типов с разными свойствами, "prop" in obj автоматически сузит тип до того, где это свойство существует. Это runtime-проверка, которая работает и с интерфейсами, и с type alias.