Мне нужно проверить тип данных, если он соответствует , то выполнить определенную логику . Но тайпскрит ругается на условие. Почему?

 public editDocument(editColumnsDocument: Document | [Document, IdDelete?]): void {
    if (typeof editColumnsDocument === '[Document, IdDelete?]')

Вот ошибка. TS2367: This condition will always return 'false' since the types '"string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function"' and '"[Document, IdDelete?]"' have no overlap.


Ответы (1 шт):

Автор решения: Maxim Zebzeev
 public editDocument(editColumnsDocument: Document | [Document, (IdDelete | undefined)?]): void {
    if (Array.isArray(editColumnsDocument))

Проверяет является ли параметр массивом

→ Ссылка