2017-02-15 2 views
1

Ich bin neu in Typescript und ich versuche zu verstehen, wie Javascript var Typen funktionieren, Ich habe eine einfache Klasse erstellt: und eingeschränkt Benenne Eigenschaft zu Zeichenkette, aber wenn ich eine Zahl in meine Zeichenkettenvariable einfüge, erhalte ich keinen Fehler und meine Zeichenketteneigenschaft hält die Zahl, da es eine Zeichenkette war ... fehle ich etwas? Als ich es debuggt, fand ich, dass NameWarum wirft der Compiler keinen Fehler, wenn er eine Zahl/bool einer Zeichenfolge zuordnet? Var

class Customer { 
    public name: string = ""; 
    validate(input: string): string { 
     alert("hey"); 
     return "hey"; 
    } 
} 

Der Code, der meine Klasse verwendet

<script>   
     var tito = new Customer(); 
     tito.name = 345; 
    </script> 

Antwort

4

Unter der Annahme, dass der erste Teil des Codes in ts getan 345. // war wurde mit Typoskript getan Der Code, der diese Klasse verwendet, scheint in einem HTML-Code platziert zu sein, und es handelt sich um reines JavaScript. Aus diesem Grund werden die Typen nicht überprüft, da dies nicht von Typescript kompiliert wird. Um Art Überprüfung des Code zu verwenden muss in einer .ts-Datei abgelegt werden:

// Inside a .ts file 
var tito = new Customer(); 
tito.name = 345; 
+0

Danke, wenn ich recht verstehe, ist der beste Weg, um eine obj in ts zu erstellen ist, dass meine Daten von js zu übergeben. ts und in den ts mein Objekt zu creae? – Damkulul

+0

@Damkulul könnten Sie uns bitte weitere Informationen geben, warum sollten Sie ein Objekt auf js statt auf einer .ts-Datei erstellen möchten? – nbouchet

+0

gut nach einem Tutorial, das ich fand, das Obj wurde im Skript-Tag deklariert und verwendet die Obj-Klasse wie in C#, wenn Sie ein Obj im Hauptbereich erstellen ... und in meinem Fall verwenden Sie die .ts als a Klasse.. – Damkulul

Verwandte Themen