2016-04-26 14 views
0

Ich würde gerne wissen, auf welche Weise zu überprüfen, ob eine Variable null oder undefined in AngularJS der beste Weg ist.AnuglarJs Best Practice, um zu überprüfen, ob undefined und Null

Erster Weg:

if(!myVar){...} 

Zweiter Weg:

if(myVar === null || myVar === undefined){...} 

Dritter Weg:

if(angular.isUndefined(myVar) || myVar === null){...} 

I prefere der erste, aber ich möchte sicher sein, wenn es der beste Weg ist.

Das Problem mit der letzten ist, dass ich eine angulars Funktion verwenden, um zu testen, ob es nicht definiert ist und eine native JavaScript-Möglichkeit, um zu überprüfen, ob es null ist.

Danke allen!

+1

OR-Bedingung anstelle von und verwenden. – Tushar

+0

Der erste Weg enthält auch falsche Werte wie false, 0, "". –

+0

@MichaelLiu Wahr, obwohl das in vielen Fällen genau das ist, was Sie wollen. – Casey

Antwort

0

Der beste Weg, es zu tun, die die Route, die Coffeescript too goes ist, ist:

if (typeof MyVariable === "undefined" || MyVariable === null){ ... } 
+0

Was ist dieser Ansatz, der ihn zum Besten macht? Ich frage mich, woran das lag, was die Macher von Coffeescript dazu brachte, diese Methode zu wählen. –

+0

Habe ein bisschen mehr Forschung und fand [http://stackoverflow.com/questions/2703102/typeof-undefined-vs-null], die über ein wenig darüber spricht, warum diese Methode besser ist. Hat mit Referenzfehlern zu tun. Aber ich frage mich immer noch, ob das wirklich der beste Weg ist. –

0

Ich denke, die von der Situation abhängen, ich verwende in der Regel die erste Art und Weise in der Regel, da ich bestätigen, wenn die Variable 0 ist , leeres Array, undefiniert oder null, wenn das Ziel nur die Werte null und undefiniert ist, denke ich, dass der zweite Weg das Ideal ist, und der dritte Weg ist gut, aber die Kraft, um vom Winkel abzuweichen.

Verwandte Themen