探索 JavaScript 中可靠的 Null 和未定义变量检测
在 JavaScript 中,确定变量是否已定义或是否具有值可以是重复出现的任务。许多开发人员采用以下模式:
<code class="javascript">if (typeof(some_variable) != 'undefined' && some_variable != null) { // Do something with some_variable }</code>
虽然这种方法很可靠,但它可能很冗长。一些消息来源表明,简单地检查变量是否存在具有相同的效果:
<code class="javascript">if (some_variable) { // Do something with some_variable }</code>
但是,某些开发环境(例如 Firebug)在使用第二种方法未定义 some_variable 时会报告错误。
检查 null 或未定义变量的更有效方法是使用以下语法:
<code class="javascript">if (some_variable == null) { // some_variable is either null or undefined }</code>
此替代方案相当于详细版本,并且也受到 Firebug 等开发工具的支持。
注意事项:
<code class="javascript">if (!some_variable) { // some_variable is either null, undefined, 0, NaN, false, or an empty string }</code>
更新 2021-03:
现代浏览器支持 Nullish 合并运算符 (? ?) 和逻辑空赋值 (??=),提供了一种在变量为空或未定义时分配默认值的简洁方法:
<code class="javascript">if (a.speed == null) { // Set default if null or undefined a.speed = 42; }</code>
这可以使用 Nullish 合并运算符重写:
<code class="javascript">a.speed ??= 42;</code>
以上是如何可靠地检查 JavaScript 中的 Null 或未定义变量?的详细内容。更多信息请关注PHP中文网其他相关文章!