2017-12-14 18 views
0

以下は私のコードtypecriptでインターフェイスのオブジェクトから型を設定するには?

interface platformItem { 
    Result: { 
     name: string; 
     age: number; 
    }; 
} 

const man: platformItem.Result; 

vscodeは、platformItemからの輸出メンバーではありません、私はplatformItem.resultを使用することはできませんと思われる警告が表示されますです。

+0

を意味することになって 'platformItem.Result'は何ですか? – zerkms

+0

は、男性が名前と年齢を持つ必要があることを意味します。 – Dreams

答えて

2

+0

これは正しいコードです。これは[インデックスアクセス](https://www.typescriptlang.org/docs/handbook/advanced-types.html)として知られています。 –

0

vscode platformItem['Result']上の私にとって、この作品は、ここでは3つの異なるアプローチです。 Playground

Indexed access

interface platformItem { 
    Result: { 
     name: string; 
     age: number; 
    }; 
} 

const man: platformItem["Result"] = { name: "Max Power", age: 30 }; 

Type Aliases

type Man = { 
    name: string; 
    age: number; 
}; 

interface platformItem { 
    Result: Man; 
} 

const man: Man = { name: "Max Power", age: 30 }; 

Declaration Merging

namespace platformItem { 
    export type Result = { 
     name: string; 
     age: number; 
    }; 
} 
interface platformItem { 
    Result: platformItem.Result; 
} 

const man: platformItem.Result = { name: "Max Power", age: 30 }; 
関連する問題