instanceof e in na restrição de tipos
Restrinja instâncias de classes e formatos de objetos
instanceof e in na restrição de tipos é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de TypeScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de TypeScript Academy inclui 4 aulas no total.
Boas-vindas
Refinamento com instanceof
function handle(err: Error | string) {
if (err instanceof Error) {
console.log(err.message); // err: Error
} else {
console.log(err); // err: string
}
}instanceof com classes personalizadas
class Dog { bark() { return 'Woof'; } }
class Cat { meow() { return 'Meow'; } }
function speak(pet: Dog | Cat) {
if (pet instanceof Dog) pet.bark();
else pet.meow();
}instanceof não funciona com interfaces
O operador in
type Fish = { swim(): void };
type Bird = { fly(): void };
function move(animal: Fish | Bird) {
if ('swim' in animal) animal.swim();
else animal.fly();
}Refinamento com in e propriedades opcionais
type A = { x?: number };
type B = { y: number };
function process(v: A | B) {
if ('x' in v) {
// v: A (has optional x)
}
}Combinação de instanceof e in
function describe(v: Error | { message: string }) {
if (v instanceof Error) console.log('Error:', v.stack);
else if ('message' in v) console.log('Object:', v.message);
}in para uniões discriminadas
type Square = { side: number };
type Circle = { radius: number };
function area(s: Square | Circle): number {
return 'side' in s ? s.side ** 2 : Math.PI * s.radius ** 2;
}instanceof em blocos catch
try {
await fetchData();
} catch (err) {
if (err instanceof NetworkError) { /* retry */ }
else if (err instanceof AuthError) { /* redirect */ }
else throw err;
}Verificação com Object.prototype versus in
Prioridade do refinamento
Verificação rápida
Recapitulação
Perguntas Frequentes
A aula “instanceof e in na restrição de tipos” é grátis?
Sim — o texto completo de “instanceof e in na restrição de tipos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de TypeScript Academy, atualize para CoddyKit PRO. O curso de TypeScript Academy inclui 4 aulas no total.
O que vou aprender em “instanceof e in na restrição de tipos”?
Restrinja instâncias de classes e formatos de objetos Você pratica TypeScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar TypeScript Academy?
Nenhuma experiência prévia é necessária. TypeScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “instanceof e in na restrição de tipos”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de TypeScript Academy?
Sim. Cada aula de TypeScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- typeof e restrição por veracidade
- instanceof e in na restrição de tipos
- Funções de guarda de tipos definidas pelo usuário
- Verificação de exaustividade com never