it-swarm.com.de

JavaScript-Variable = null setzen oder undefiniert lassen?

Wenn Sie Variablen oben in der JavaScript-Funktion deklarieren, ist es empfehlenswert, sie auf null zu setzen oder als "undefiniert" zu belassen? Eine andere Möglichkeit zu fragen, welche Umstände für jede Option unten erforderlich sind.

Option A:

var a = null,
    b = null;

Option B:

var a,
    b;
43
rgwozdz

Ich erkläre sie als undefiniert, wenn ich keinen Wert vergebe, weil sie schließlich undefiniert sind.

17
Steven Wexler

Es kommt auf den Kontext an.

  • "undefiniert" bedeutet, dass dieser Wert nicht existiert. typeof gibt "undefined" zurück

  • "null" bedeutet, dass dieser Wert mit einem leeren Wert existiert. Wenn Sie mit typeof auf "null" testen, sehen Sie, dass es sich um ein Objekt handelt. In anderen Fällen, wenn Sie den Wert "null" für einen Back-End-Server wie asp.net mvc serialisieren, erhält der Server den Wert "null". Wenn Sie jedoch "undefined" serialisieren, wird der Server wahrscheinlich keinen Wert erhalten.

37
Khanh TO

Im Allgemeinen verwende ich null für Werte, von denen ich weiß, dass sie den Status "null" haben können. beispielsweise

if(jane.isManager == false){
  jane.employees = null
}

Ansonsten, wenn es sich um eine Variable oder Funktion handelt, die noch nicht definiert ist (und daher momentan nicht "verwendbar" ist), die aber später eingerichtet werden soll, lasse ich sie normalerweise undefiniert.

9
KennyC

Allgemein gesagt, ich habe null definiert, um anzuzeigen, dass eine Person den Wert festgelegt hat, und undefiniert, um anzuzeigen, dass keine Einstellung erfolgt ist.

2
Vishal Sakaria

Sie müssen es nur einstellen (oder nicht), wenn Sie explizit prüfen müssen, ob eine Variable a genau auf null oder gesetzt ist undefined.

if(a === null) {

}

... ist nicht dasselbe wie:

if(a === undefined) {

}

Das gesagt, a == null && a == undefined gibt true zurück.

Fiddle

1
jterry

Normalerweise stelle ich alles so ein, wie ich es von der Funktion erwarte.

Wenn eine Zeichenfolge, dann setze ich sie auf eine leere Zeichenfolge = '', gleich für Objekt = {} und Array = [], Ganzzahlen = 0.

wenn ich diese Methode verwende, muss ich nicht mehr nach null/undefined suchen. Meine Funktion wird unabhängig vom Ergebnis wissen, wie sie mit Strings/Arrays/Objekten umgeht.

1
snirad

Seien Sie vorsichtig, wenn Sie diesen Wert verwenden, um die Eigenschaft eines Objekts zuzuweisen und später JSON.stringify Aufzurufen.

var a, b = null;

c = {a, b};

console.log(c);
console.log(JSON.stringify(c)) // a omited

* oder eine Utility-Funktion/Bibliothek, die auf ähnliche Weise funktioniert oder JSON.stringify darunter verwendet

0
barbsan

Es gibt zwei Eigenschaften von null, die wir verstehen sollten:

  1. null ist ein leerer oder nicht existierender Wert.
  2. null muss vergeben werden.

Sie können einer Variablen den Wert null zuweisen, um anzuzeigen, dass diese Variable derzeit keinen Wert hat, aber später einen hat. Eine Null bedeutet, dass kein Wert vorhanden ist.

beispiel:-

 let a = null;
 console.log(a); //null
0
Saloni Malhotra