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

Чим T extends object відрізняється від T extends {} в обмеженні дженерика?

Пояснення

{} означає «будь-яке значення з властивостями», а в рядків і чисел властивості є, тому T extends {} приймає 'abc' і 42. Щоб дозволити лише об'єкти (включно з масивами й функціями), використовують object. Для «будь-чого, крім null/undefined» {} - саме те, що треба.

Де почитати

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

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

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

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

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