2017-09-02 1 views
1

Ich habe diesen Codeblock in unserer Codebasis gesehen und (da ich neu in TypeScript bin) habe ich ein kleines Problem damit, es zu verstehen. Die Sache, die ich nicht verstehe, ist void = (page). Laut https://stackoverflow.com/a/34274584/513413 kommt der Rückgabetyp nach =>, was in meinem Fall void ist. Was sagt = (page) => {}? Was ist seine Equvalant-Funktion, wenn ich es nicht mit Fettpfeilfunktion schreibe?Was bedeutet "void =() => {}" nach der Funktion "Fettpfeil" in TypeScript?

Dies ist der Code:

private navigateTo: (page: string) => void = (page) => { 
    // display page 
} 
+0

'= (Seite) => {}' sagt String (Seite) geht an diese Funktion, die nichts (void) zurückgibt. – Xaqron

+0

Der Begriff "Fettpfeilfunktion" ist seit einigen Jahren veraltet. Sie werden einfach "Pfeilfunktionen" genannt. –

Antwort

3

Sie sind falsch im Code suchen. Die allgemeine Struktur ist

private Name: Type = Value 

Der Typ ist (page: string) => void und der Wert ist (page) => {}. Der Typ bedeutet, dass navigateTo eine Funktion ist, die eine Zeichenfolge als Argument akzeptiert und nichts zurückgibt, was (page) => {} tut.

+0

Wow, das hat mich eine Weile gedauert, um zu sehen ... Meiner Meinung nach wäre das besser als "Interface" für bessere Lesbarkeit geschrieben worden. –

+0

Ich weiß nicht viel über Typoskript, aber ich denke, es könnte helfen, wenn man könnte wrap den Typ in Klammern: 'private navigateTo: ((page: string) => void) = (Seite) => {}' –

+2

Ich nehme den 'interface' Teil zurück, Es wäre wahrscheinlich besser so geschrieben:' private navigateTo (Seite: Zeichenfolge): void {} ' –

2

In Typoskript werden Typings innerhalb der Anweisungen der Sprache eingefügt, um sie etwas zu transformieren.

Der Code, den Sie sollten als solche gelesen vorgelegt:

  • private navigateTo: Dieser Teil ist straighforward. Wir erstellen ein privates Mitglied namens navigateTo innerhalb der aktuellen Klasse.
  • ...: (page: string) => void: Dies ist der Typ des Mitglieds. In diesem Fall stellt es eine Funktion dar, die einen string Parameter einnimmt und nichts zurückgibt (void). Dieser Teil ist reines Typoskript.
  • ... = (page) => { /* display page */ }: Dies ist die eigentliche Funktion, die der Variablen zugewiesen wird.

Ich empfehle Ihnen einige der Typescript Handbook lesen. Es enthält viele Informationen über die Syntax und die Sprache.