Ich habe die folgende einfache Funktion, die jede Art von Argumente und sollte eine Reihe zurück:Sollte der Rückgabewert von TypeScript Garantie-Funktionen?
function foo(x:any): number {
return x.bar;
}
var b = {bar: "shit happens"};
console.log(foo(b)); // foo returns 'shit happens' which is not a number.
Es scheint, dass, wenn x.bar keine Zahl enthält dann diese Rückgabewert der Funktion kann alles sein.
Meine Frage ist: Gibt es eine Möglichkeit zu garantieren, dass der Rückgabewert der Funktion wird immer eine Zahl und nichts anderes (wie in anderen stark typisierten Sprachen)? Wenn nicht, was ist der Vorteil der Verwendung von TypeScript, wenn das Typisierungssystem nur einen "Hinweis" auf die vorzuziehenden Rückgabetypen gibt, die verwendet werden sollen und falsche Rückgabetypen zulässt.