2017-07-23 2 views
-1
interface type { 
    name?: number; 
    ip?: number; 
} 
interface Data { 
    hostname: string; 
    date?: Date; 
    key?: type; 
} 
const useData: Data = { 
    hostname: 'localhost', 
    date: new Date(), 
    typeA: { 
    name: 'test', 
    ip: 'localhost' 
    } 
} 
const useDataB: Data = { 
    hostname: '127.0.0.1', 
    date: new Date(), 
    typeB: { 
    name: 'testB', 
    ip: '127.0.0.1' 
    } 
} 

Ich möchte es in der obigen Form verwenden, aber es ist unmöglich. Kann ich es wie im obigen Beispiel verwenden? Wenn ich es benutzen kann, wie ist es möglich?Wie schreibt man den Objekttyp Schnittstelle?

Antwort

0

Es ist nicht gut, 'type' zu verwenden, da es Teil der TypeScript-Sprache ist. Außerdem hattest du ein paar schlechte Typen.

Try this:

interface IpType { 
    name?: string; 
    ip?: string; 
} 

interface Data { 
    hostname: string; 
    date?: Date; 
    key?: IpType; 
} 

const useData: Data = { 
    hostname: 'localhost', 
    date: new Date(), 
    key: { 
    name: 'test', 
    ip: 'localhost' 
    } 
} 

const useDataB: Data = { 
    hostname: '127.0.0.1', 
    date: new Date(), 
    key: { 
    name: 'testB', 
    ip: '127.0.0.1' 
    } 
} 
+0

ich die Typänderung beschlossen. Danke. – Tedy

+0

Gern geschehen. : D –