In JavaScript müssen wir häufig prüfen, ob eine Variable undefiniert oder Null ist. Ein gängiger Ansatz beinhaltet das folgende Codemuster:
<code class="javascript">if (typeof(some_variable) != 'undefined' && some_variable != null) { // Do something with some_variable }</code>
Dieses Muster kann jedoch ausführlich sein. Um diese Prüfung zu optimieren, schlagen einige Entwickler vor, den Code wie folgt zu vereinfachen:
<code class="javascript">if (some_variable) { // Do something with some_variable }</code>
Obwohl diese kürzere Version logisch erscheint, wirft sie wichtige Fragen hinsichtlich ihrer Äquivalenz zum Originalcode auf.
Der Unterschied liegt im Verhalten des zweiten Codemusters. Wenn some_variable undefiniert ist, gibt Firebug bei der Auswertung der Bedingung einen Fehler aus. Das bedeutet, dass das zweite Muster davon ausgeht, dass die Variable deklariert ist, während das erste Muster sowohl deklarierte als auch nicht deklarierte Variablen behandelt.
Eine effizientere und konsistentere Methode zur Prüfung auf Null- oder undefinierte Variablen lautet:
<code class="javascript">if (some_variable == null) { // Do something with some_variable }</code>
Dieser Codeausschnitt identifiziert genau, wenn die Variable entweder null oder undefiniert ist, ohne dass eine Deklaration erforderlich ist oder Laufzeitfehler in Firebug verursacht werden.
In modernen Browsern der Nullish-Koaleszenzoperator (??) und die logische Nullzuweisung (??=) bieten präzise Möglichkeiten zum Zuweisen von Standardwerten, wenn eine Variable null oder undefiniert ist:
<code class="javascript">a.speed ??= 42; // Sets default speed to 42 if null or undefined</code>
Das obige ist der detaillierte Inhalt vonIst die Prüfung von „some_variable' in einer „if'-Anweisung gleichbedeutend mit der Prüfung auf „undefiniert' und „null'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!