Защита типа — техника TypeScript, используемая для получения информации о типе переменной, обычно в условном блоке. Защитники типов — обычные функции, возвращающие логическое значение, принимающие тип и сообщающие TypeScript, можно ли его сузить до чего-то более конкретного. Защитники типов обладают уникальным свойством гарантировать, что проверяемое значение имеет заданный тип в зависимости от возвращаемого логического значения.
TypeScript использует некоторые встроенные операторы JavaScript, такие, как
typeof,
instanceof и оператор
in, который используется для определения того, содержит ли объект свойство. Защитники типов позволяют указать компилятору TypeScript вывести определённый тип переменной в определённом контексте, гарантируя, что тип аргумента соответствует тому, что вы говорите.
Защитники типов обычно используются для сужения типа и очень похожи на обнаружение свойств, позволяя вам определить правильные методы, прототипы и свойства значения. Таким образом, вы можете легко понять, как работать с этим значением.
https://www.dev-notes.ru/articles/typescript/how-to-use-type-guards-typescript/