在 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>
雖然這個較短的版本看起來合乎邏輯,但它引發了有關其與原始程式碼的等效性的重要問題。
區別在於第二種 Code Pattern 的行為。如果 some_variable 未定義,Firebug 在評估條件時會拋出錯誤。這意味著第二個模式假定變數已聲明,而第一個模式同時處理已宣告和未宣告的變數。
檢查null 或未定義變數的更有效且一致的方法是:
<code class="javascript">if (some_variable == null) { // Do something with some_variable }</code>
此程式碼片段準確識別變數何時為null 或未定義,無需聲明或在Firebug 中導致執行時間錯誤。
在現代瀏覽器中,Nullish 合併運算子(??) 和邏輯空賦值(??=) 提供了在變數為null 或未定義時指派預設值的簡潔方法:
<code class="javascript">a.speed ??= 42; // Sets default speed to 42 if null or undefined</code>
以上是在「if」語句中檢查「some_variable」是否等同於檢查「undefined」和「null」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!