Перейти к содержимому
Тест · Сужение типов · урок 12 из 12

Тест — неверная проверка

Что скажет tsc и что произойдёт при запуске программы?

TypeScript
type Cat = { meow: string };
type Dog = { bark: string };

function isCat(pet: Cat | Dog): pet is Cat {
    return "bark" in pet;
}
function speak(pet: Cat | Dog) {
    if (isCat(pet)) {
        console.log(pet.meow.toUpperCase());
    }
}
speak({ bark: "woof" });