2017-02-20 176 views

回答

1

每文檔,一個type alias可以參考自己的財產,而不是其他任何地方對申報的右側:

我們也可以有一個類型別名是指本身在物業

所以,正如你指出,這個工程:

type Foo = { x: Foo } 

然而,它不可能爲一個類型別名其他地方出現在聲明

右側但是這個失敗:

type Foo = Bar<Foo> 
0

好了,第二失敗,即使你不使用約束:

type Bar<A> = { x: string } 
type Foo = Bar<Foo> // still fails with the same message 

基本上,它的第二個形式必須是這樣的:

type Bar = { x: Foo } 
type Foo = Bar; 

等同於第一一。

另外,與strictNullChecks我敢肯定,有沒有辦法來初始化這種類型。