TypeScript · Senior · Pytanie 22 z 75

Co daje zwracany typ this w metodzie klasy?

class Query {
  where(c: string): this { /* ... */ return this; }
}
class UserQuery extends Query { active(): this { return this; } }
new UserQuery().where('x').active();

Wyjaśnienie

Gdyby where zwracało Query, po nim .active() byłoby niedostępne. Polimorficzne this jest wygodne dla płynnych API i builderów. Jest też this is T w metodach-type guardach.

Do poczytania

Błąd w pytaniu

TypeScript · Senior · pytanie 22

Sprawdź się

Rozwiąż test TypeScript · Senior: pytania i odpowiedzi są tasowane, a na końcu czeka przegląd błędów.

Rozwiąż ten test