TypeScript · Senior · Запитання 5 з 75
Чому type IsNever<T> = T extends never ? true : false дає never для IsNever<never>?
- ✓Правильна відповідь:
never- порожній union, і розподіл по ньому дає порожній результат - 2Це баг компілятора, тому
neverузагалі не можна перевіряти - 3
neverзавжди сумісний із літераломfalseв умовних типах
Пояснення
Розподільний умовний тип застосовується до кожного члена union, а в never членів немає - результат never. Правильна перевірка: [T] extends [never] ? true : false.