TypeScript · Senior · Запитання 22 з 75

Що дає тип this, що повертається, у методі класу?

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

Пояснення

Якби where повертав Query, після нього .active() був би недоступний. Поліморфний this зручний для fluent API та білдерів. Є також this is T у type guard-методах.

Де почитати

Помилка в запитанні

TypeScript · Senior · запитання 22

Перевірте себе

Пройдіть тест TypeScript · Senior: запитання й варіанти перемішуються, а наприкінці - розбір помилок.

Пройти цей тест