首頁  >  文章  >  web前端  >  如何可靠地檢查 JavaScript 中的 Null 或未定義變數?

如何可靠地檢查 JavaScript 中的 Null 或未定義變數?

Susan Sarandon
Susan Sarandon原創
2024-10-31 17:08:02860瀏覽

How Can I Reliably Check for Null or Undefined Variables in JavaScript?

探索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 等開發工具的支援。

注意事項:

  1. 在使用這種簡寫技術之前必須聲明變數;否則會出現ReferenceError。但是,它可以安全地用於可選參數或物件屬性檢查。
  2. 此檢查的不同但不等效的變體包括0、NaN、false 或空字串的變數:
<code class="javascript">if (!some_variable) {
    // some_variable is either null, undefined, 0, NaN, false, or an empty string
}</code>
  1. 使用嚴格相等檢查( ===) 通常優於==。但是,建議的 == null 比較是此規則的例外。

更新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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn