TSLint говорит, что выражение всегда истинно. (strict-type-predicates) для typeof document !== ‘не определено

#typescript

#typescript

Вопрос:

При strictNullChecks включенном в tsconfig.json я теперь получаю TSLint says Expression is always true. (strict-type-predicates) для typeof document !== 'undefined'

введите описание изображения здесь

Есть ли способ исправить это, не заглушая его с помощью tslint:disable-next-line: strict-type-predicates

Я предполагаю, что проблема вызвана этой строкой, в lib.dom.ts которой нет объединения | null . declare var document: Document;

Я использую SSR, поэтому window и document может не существовать.

Ответ №1:

Я работаю над проектом SSR и использовал оператор ‘as’, чтобы обойти это правило компоновки для объекта window, оно будет работать и для document.

 const isBrowser = typeof (window as any) !== 'undefined'

export default isBrowser