0Pricing
TypeScript Academy · Aula

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 void

Retorno 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 returns

Boas 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

  1. Sobrecargas de funções e assinaturas de chamada
  2. Tipagem do parâmetro this; void, never
  3. Funções de asserção e guardas de tipo definidos pelo usuário
← Voltar para TypeScript Academy