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