2017-07-12 1 views
1

Ich bin neu in TypeScript. Alles, was ich im folgenden Code tun möchte, ist im Dokument "Hallo Jon Lennon" zu schreiben. Aber wenn ich run this in the browser (in einer HTML-Seite), schreibt es "Hallo [Objekt Objekt]". Was mache ich falsch?Klasse rendert [Objekt]?

Antwort

2

[Objekt Objekt] ist das Standardverhalten, wenn JavaScript ein Objekt in eine Zeichenfolge zwingen muss. Für return "Hello " + person; sieht Javascript den + Operator und weiß dann, dass es eine Person braucht, um eine Zeichenkette zu sein, so dass sie es konvertiert.

Was Sie wollen, stattdessen ist dies:

function say(person: IPerson){ 
    return "Hello " + person.fullname; 
} 
+0

Auch sieht es aus wie Ihre IPerson Schnittstelle falsch hier verwendet wird. Ein 'Student' ist kein' IPerson', weil ein Student nur eine 'Fullname'-Eigenschaft freilegt. – AnilRedshift