簡體   English   中英

“ if(err)”在JavaScript中到底能進行哪些測試?

[英]What does 'if (err)' tests precisely in Javascript?

許多回調函數通過檢查err參數開始,如下所示:

function myCallback(err, result) {

    if ( err ) {

        // Handle error
        ...

    }

    ...

}

if (err)測試驗證什么? 是否檢查對象是否為null 是否檢查它是否undefined 不應該為instanceof Error測試嗎? 該測試何時返回true

在Node.js世界中,回調函數具有以下簽名

function(error, result){}

如果沒有錯誤,則通常將error參數設置為null ,否則將相應的錯誤對象設置為null

因此,檢查if (err)是否檢查我們是否確實存在錯誤情況。 如果err對象為null ,則檢查將失敗(因為null為假),否則將執行錯誤處理代碼。

不應該為instanceof Error測試嗎?

它不一定是Error對象的實例。 我們甚至可以將對象文字作為錯誤對象或什至代表錯誤數組的數組傳遞。

是否檢查對象是否為空? 是否檢查它是否未定義?

如果錯誤對象為nullundefined ,則測試將評估為錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM