В runtime оператор in проверяет наличие свойства в объекте и его прототипах; TypeScript использует такую проверку для narrowing.
Что делает оператор in в TypeScript?
В runtime оператор in проверяет наличие свойства в объекте и его прототипах; TypeScript использует такую проверку для narrowing.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В runtime оператор in проверяет наличие свойства в объекте и его прототипах; TypeScript использует такую проверку для narrowing.
Например, 'swim' in animal уточняет ветвь union с соответствующим свойством. В mapped types in имеет другой смысл: перебирает набор ключей, как [K in keyof T]. Для проверки только собственных свойств нужен Object.hasOwn или аналог.