2017-10-06 2 views
1

Ich schreibe eine Web-Anwendung in Typescript und jQuery (mit den Definitally Typed jQuery Definitionsdateien). Eines der Probleme, mit denen ich immer wieder auftrete, ist, dass viele der jQuery-Funktionen eine Zahl oder nicht definiert zurückgeben. Dies führt den Typoskript Compiler ab, und so habe ich mit einer Nutzenfunktion rückgängig gemacht:Typescript-Handhabung undefined von jquery

function zero_if_undefined(value: number | undefined): number { 
    if value === undefined: 
     return 0; 
    return value; 
} 

Dann so etwas wie:

let width: number = zero_if_undefined($('#myEle').innerWidth()); 

Gibt es eine bessere (oder sogar inline) Art und Weise das zu bewerkstelligen, dasselbe Ziel? Oder ist das der beste Weg?

+1

'lassen. Breite: Anzahl = $ ('# myEle') innerwidth() || 0; '? – soywod

Antwort

1

ich Sie könnten im Allgemeinen einem einfachen Ansatz folgen, versuchen

let width: number = $('#myEle').innerWidth() || 0; 

mit dem Wenn Sie zero_if_undefined Methode versucht gleiche in Verfahren verbessern mögen.

function zero_if_undefined(value: number | undefined): number { 
    return value || 0 
} 

FYI,

+!!undefined is also 0.