2016-12-21 20 views
2

配列型がT[]であるとしますが、他の別名/インタフェース内に型Tを抽出することはできますか?たとえば、次のように私の(偽の)理想的なコードは次のようになります。Typescript:配列型から要素型情報を取得する

// for illustration only... 

type ArrayElement<T[]> = T; 

// then, ArrayElement<string[]> === string 

ノーならば、そのような演算子を許可しないためにそこに一般的な型理論上の理由からですか?もう一度やり直さない場合は、追加することを提案するかもしれません。

ありがとうございます!

答えて

2

2.1以降、typescriptは型に対して[]演算子をサポートしています。正式名称はindexed access types, also called lookup typesで、次のようになります。

type A = {a: string, b: number} []; 

type AElement = A[0]; 

let e: AElement = {x: 0}; //error TS2322: Type '{ x: number; }' is not 
         //assignable to type '{ a: string; b: number; }' 
+0

素晴らしい –

関連する問題