2016-04-13 7 views
0

Ich habe meinen Code durch tsc laufen und haben die für eine Konstruktorfunktion folgende Ausgabe einen einzelnen String-Parameter akzeptieren:Kann ich die JavaScript-Checktypen von TypeScript kompilieren lassen?

function Session(endpoint) { 
    var _this = this; 
    _super.call(this); 
    this.endpoint = endpoint; 

Es gibt keine Überprüfung, dass der Parameter oder dass typeof (Endpunkt) definiert ist === "Zeichenfolge"

Werden diese Überprüfungen nur zur Kompilierzeit durchgeführt? Ich hatte ursprünglich einige Plausibilitätsprüfungen im Konstruktor, um sicherzustellen, dass der Wert korrekt war, und löschte sie dann, weil ich annahm, dass TSC sie ausgeben würde. Type-Deklarationen werden sicherlich nützlich sein beim Kompilieren, aber ich habe auch auf Runtime-Checks gehofft, und hoffe, dass ich nicht all das schreiben muss.

Danke.

Antwort

1

Nein. Typescript hat keine Laufzeittypüberprüfungen.

Ein Vorschlag, dies in die Sprache aufzunehmen, war declined mit einem Verweis auf ihre design goals.

0

Ich hätte wissen müssen, eine Frage vor meiner ersten Tasse Kaffee zu stellen. Googeln "Typescript Runtime Type Checks" gab mir die Antwort:

Es ist anscheinend outside of TS' goals, aber es gibt eine NPM package, die es tut.

Verwandte Themen