Как работает type guards в TypeScript?
Вопрос проверяет знание о механизмах проверки типов на этапе выполнения кода.
Короткий ответ
Type guards — это конструкции, которые позволяют проверять типы данных во время выполнения программы. Это важно для работы с union-типами, где необходимо знать точный тип данных в определенный момент.
Длинный ответ
Type guards (защита типов) помогают TypeScript определять точный тип переменной во время выполнения программы. Они особенно полезны при работе с union-типами, когда переменная может быть нескольких типов. Type guards позволяют проводить проверку типа с помощью операторов typeof, instanceof, а также пользовательских функций.
Пример:
function printValue(value: string | number) {
if (typeof value === 'string') {
console.log(`String: ${value}`);
} else {
console.log(`Number: ${value}`);
}
}
В этом примере используется typeof, чтобы определить, является ли переменная строкой или числом, и обработать ее соответственно.