TypeScript · Avançado · Inglês · Técnico
this type
Tipo especial this dentro de classes e interfaces, que se refere ao tipo da instância atual, incluindo subclasses. Permite métodos que retornam this e mantêm o encadeamento tipado.
Onde usar
É o que faz um builder fluente funcionar com herança: o método da base devolve a subclasse, e não a base. Aparece em APIs encadeáveis.
Em código
class Base {
passo(): this { return this; }
}
class Filho extends Base {
extra() {}
}
// passo() devolve Filho, não Base
new Filho().passo().extra(); // okExemplos
Return the this type so chaining works in subclasses.
Retorne o this type para o encadeamento funcionar nas subclasses.
The method returns this, not the base class.
O método retorna this, não a classe base.
Cuidado
Não confunda com o parâmetro this de funções, nem com o valor this em runtime: aqui é um tipo polimórfico que muda conforme a subclasse.
Sinônimos
polymorphic this