Exploring Reliable Null and Undefined Variable Detection in JavaScript
In JavaScript, ascertaining whether a variable is defined or has a value can be a recurring task. Many developers resort to the following pattern:
<code class="javascript">if (typeof(some_variable) != 'undefined' && some_variable != null) { // Do something with some_variable }</code>
While this method is reliable, it can be verbose. Some sources suggest that simply checking if the variable exists has the same effect:
<code class="javascript">if (some_variable) { // Do something with some_variable }</code>
However, certain development environments, such as Firebug, report an error when some_variable is undefined with the second approach.
A more efficient way to check for null or undefined variables is to utilize the following syntax:
<code class="javascript">if (some_variable == null) { // some_variable is either null or undefined }</code>
This alternative is equivalent to the verbose version and is also supported by development tools like Firebug.
Notes:
<code class="javascript">if (!some_variable) { // some_variable is either null, undefined, 0, NaN, false, or an empty string }</code>
Update 2021-03:
Modern browsers support the Nullish coalescing operator (??) and Logical nullish assignment (??=), providing a concise way to assign default values if variables are null or undefined:
<code class="javascript">if (a.speed == null) { // Set default if null or undefined a.speed = 42; }</code>
This can be rewritten using the Nullish coalescing operator:
<code class="javascript">a.speed ??= 42;</code>
The above is the detailed content of How Can I Reliably Check for Null or Undefined Variables in JavaScript?. For more information, please follow other related articles on the PHP Chinese website!