-
Wie prüfe ich eine Variable, wenn sie
null
oundefined
und was ist der Unterschied zwischen demnull
yundefined
? -
Was ist der Unterschied zwischen
==
y===
(es ist schwierig, bei Google nach "===" zu suchen)?
Antworten
Zu viele Anzeigen?undefiniert
Das bedeutet, dass die Variable noch nicht initialisiert ist.
Beispiel:
var x;
if(x){ //you can check like this
//code.
}
gleich(==)
Es wird nur geprüft, ob der Wert gleich ist, nicht der Datentyp.
Beispiel:
var x = true;
var y = new Boolean(true);
x == y ; //returns true
Denn es wird nur der Wert .
Streng gleich(===)
Überprüft, ob der Wert und der Datentyp gleich sind.
Beispiel:
var x = true;
var y = new Boolean(true);
x===y; //returns false.
Denn es prüft den Datentyp x ist ein primitiver Typ und y ist ein boolesches Objekt.
Wenn Ihre (logische) Prüfung auf eine Negation (!) abzielt und Sie beide JS erfassen wollen null
y undefined
(da verschiedene Browser unterschiedliche Ergebnisse liefern) würden Sie den weniger restriktiven Vergleich verwenden: z.B.:
var ItemID = Item.get_id();
if (ItemID != null)
{
//do stuff
}
Damit werden sowohl null
y undefined
Versuch mit anderer Logik . Sie können bellow Code für die Überprüfung aller vier (4) Bedingung für die Validierung wie nicht null, nicht leer, nicht undefiniert und nicht Null nur diesen Code (!(! (Variable))) in Javascript und Jquery verwenden.
function myFunction() {
var data; //The Values can be like as null, blank, undefined, zero you can test
if(!(!(data)))
{
//If data has valid value
alert("data "+data);
}
else
{
//If data has null, blank, undefined, zero etc.
alert("data is "+data);
}
}
- See previous answers
- Weitere Antworten anzeigen
10 Stimmen
2. Der Unterschied zwischen
==
y===
ist gut hier beschrieben .0 Stimmen
1. Verwenden Sie === anstelle von == JavaScript verwendet zwei verschiedene Arten von Gleichheitsoperatoren: === | !== und == | != Es gilt als beste Praxis, beim Vergleich immer die erstere Gruppe zu verwenden. "Wenn zwei Operanden vom gleichen Typ und Wert sind, dann ergibt === true und !== false." - JavaScript: The Good Parts Bei der Arbeit mit == und != treten jedoch Probleme auf, wenn Sie mit unterschiedlichen Typen arbeiten. In diesen Fällen wird versucht, die Werte zu erzwingen, ohne Erfolg. code.tutsplus.com/tutorials/
4 Stimmen
Sie können bei Google nach: "strict equality operator" - das liefert sehr relevante Ergebnisse
0 Stimmen
Um die vielen Antworten hier zu ergänzen, die Sie verwenden können lodash.com/docs#isNil Funktion, um zu prüfen, ob eine Variable null oder undefiniert ist