Не удается найти имя при использовании конструктора, но можно при приведении

Я импортировал два типа.

import { UserManager, WebStorageStateStore } from "oidc-client";

Судя по исходному коду, оба являются классами с конструкторами. Я могу все конструктор первого, и могу привести ко второму, но я не могу вызвать конструктор второго.

Обе эти работы.

let um = new UserManager({});
let w1 = <WebStorageStateStore> {};

TypeScript жалуется на это. Msgstr "Невозможно найти имя 'WebStorageStateStore'".

let w2 = new WebStorageStateStore();

Почему TypeScript не может найти конструктор, когда он может привести к типу?

Это источник дляoidc-client,

1 ответ

Решение

TypeScript жалуется на это. Msgstr "Невозможно найти имя 'WebStorageStateStore'".

То, что переменная существует в пространстве объявления типа, не означает, что она также находится в пространстве объявления переменной. В вашем случае это только в пространстве типов.

Больше

Пространства объявлений покрыты здесь https://basarat.gitbooks.io/typescript/content/docs/project/declarationspaces.html

Другие вопросы по тегам