Tipagem do parâmetro this; void, never
Tipifique o parâmetro especial this, entenda o this léxico com funções de seta e aprenda quando retornar void em vez de never.
Tipagem do parâmetro this; void, never é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 2 de 3. 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 3 aulas no total.
Introdução
Objetivo: tipar o parâmetro especial this, saber como as funções de seta capturam this lexicalmente e escolher entre void (sem valor) e never (sem retorno).
Tipagem do parâmetro this
Adicione um parâmetro inicial chamado this para tipar o receptor esperado. Ele não é um argumento real e só se aplica a funções que não são de seta.
function setTitle(this: { title: string }, t: string): void {
this.title = t;
}
const model = { title: "Old" };
setTitle.call(model, "New");
console.log(model.title);Funções de seta e this lexical
As funções de seta capturam o this do escopo ao redor; elas não podem declarar um parâmetro this.
const counter = {
n: 0,
tick: function () {
setTimeout(() => {
// Arrow keeps outer this (counter)
this.n++;
console.log(this.n);
}, 0);
},
};
counter.tick();Retorno void
void significa que a função não retorna um valor significativo. Os chamadores não devem usar o resultado.
function logMsg(msg: string): void {
console.log(msg);
}
const r = logMsg("hello"); // r is void (ignored)
// Returning a value here would error when annotated as voidRetorno never
never indica que a função não retorna, pois lança uma exceção ou entra em um loop infinito. Ele é útil para verificações exaustivas e caminhos de código impossíveis.
function fail(message: string): never {
throw new Error(message);
}
function loopForever(): never {
while (true) {}
}
// Calling either function never returnsBoas práticas
Dicas:
- Use o parâmetro this somente em funções que não são de seta e que dependem de um receptor.
- Prefira callbacks em arrow para evitar perder o this.
- Anote void em funções com efeitos colaterais; use never para lançamentos, loops ou proteções exaustivas.
Verificação do parâmetro this
Verificação rápida: qual afirmação sobre o parâmetro “this” é TRUE?
Recapitulação
Recapitulação: tipar o receptor com um parâmetro this em funções que não são de seta, confiar nas setas para obter this lexical e usar void e never adequadamente.
Perguntas Frequentes
A aula “Tipagem do parâmetro this; void, never” é grátis?
Sim — o texto completo de “Tipagem do parâmetro this; void, never” é 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 3 aulas no total.
O que vou aprender em “Tipagem do parâmetro this; void, never”?
Tipifique o parâmetro especial this, entenda o this léxico com funções de seta e aprenda quando retornar void em vez de never. 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 3.
Quanto tempo leva a aula “Tipagem do parâmetro this; void, never”?
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
- Sobrecargas de funções e assinaturas de chamada
- Tipagem do parâmetro this; void, never
- Funções de asserção e guardas de tipo definidos pelo usuário