Привести булев конструктор как тип защиты - PullRequest
0 голосов
/ 18 февраля 2020

Обычно используется шаблон Boolean в массиве .filter(/* ... */) для фильтрации ложных значений.

Можно ли в любом случае привести конструктор Boolean к типу guard, который удаляет Nullables? Я пытаюсь сделать что-то вроде ниже:

const list = ['foo', 'bar', null];

// how can I make this line not error?
const onlyStrings: string[] = list.filter(Boolean as <T>(t: T) => t is NonNullable<T>);

Но я получаю следующую ошибку:

Conversion of type 'BooleanConstructor' to type '<T>(t: T) => t is NonNullable<T>' may be a mistake because neither type sufficiently overlaps with the other

Есть идеи?

Детская площадка Ссылка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...