2017-09-23 19 views
5

タイプがtype foo = Array<{ name: string; test: number; }>の場合、配列内の値の型(この場合はインタフェース)を取得できますか?私はキーを得るためにkeyofがあることを知っている、値のために何か類似している?配列型の値の型を取得するには?

+0

'foo型=配列は' - 」を取得する方法を求めて、この質問ですT "、または何か他の? – user2864740

答えて

4

あなたが{ name: string; test: number; }タイプを抽出する方法を探しているなら、あなたは、単に「インデックスにある項目」にエイリアスを作成することができます。

type Foo = Array<{ name: string; test: number; }>; 
type FooItem = Foo[0]; 
1

Alekseyの回答にもかかわらず、そのジェネリックタイプのインスタンスが少なくとも1つのタイプのメンバーを公開する場合、そのメンバーのtypeofquery the typeを使用できることがわかります。ジェネリックArrayタイプの場合

は、任意の配列項目から照会することができます:それは arrは、実行時に空または未定義であってもすべてのエラーを発生しないように、27はデザイン時にのみ存在する行 enter image description here

注意を。

+0

*現在、ジェネリック型のパラメータを抽出する方法はありません。*配列の場合、ジェネリック型は任意のインデックスのメンバの型と同じです。索引付きアクセス演算子 "と呼びます。 –

+0

@torazaburo現在のバージョンのTypeScript AFAIKでは不可能な汎用配列型自体からではなく、その配列型のインスタンスからメンバ型を抽出する配列メンバの型を問い合わせることにより、 – cvsguimaraes

+0

実行時の 'typeof'結果と、配列要素のTypeScript型の間で混乱していると思います。 –

関連する問題