2016-10-10 2 views
1

두 가지 유형을 가져 왔습니다.생성자를 사용할 때 이름을 찾을 수 없지만 캐스팅 할 수있는 경우

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

소스를 보면, 둘 다 생성자가있는 클래스입니다. 나는 첫 번째 생성자를 모두 만들 수 있고 두 번째 생성자와 함께 캐스트 할 수 있지만 두 번째 생성자를 호출 할 수는 없습니다.

두 가지 모두 작동합니다.

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

TypeScript가이 문제에 관해 불평합니다. " 'WebStorageStateStore'라는 이름을 찾을 수 없습니다."

형식으로 변환 할 수있는 경우 형식 작성기를 찾을 수없는 이유는 무엇입니까?

이것은 source for oidc-client입니다.

답변

1

TypeScript가이 문제에 관해 불평합니다. " 'WebStorageStateStore'라는 이름을 찾을 수 없습니다."

그냥 변수의도에 변수 선언 공간을 의미하지 않는다 유형 선언 공간에 존재하기 때문이다. 귀하의 경우에만 유형 공간에 있습니다.

선언 공간은 https://basarat.gitbooks.io/typescript/content/docs/project/declarationspaces.html

+0

실제로 여기에 포함된다. 타입 정의 파일은'WebStorageStateStore'를 인터페이스로 정의했습니다. 그것을 클래스로 변경하면 문제가 해결됩니다. –