首頁 > web前端 > js教程 > 為什麼 JSON.stringify 在字串化本機錯誤物件時回傳空物件?

為什麼 JSON.stringify 在字串化本機錯誤物件時回傳空物件?

Barbara Streisand
發布: 2024-12-02 05:47:09
原創
994 人瀏覽過

Why Does JSON.stringify Return an Empty Object When Stringifying Native Error Objects?

JSON.stringify:字串化本機錯誤訊息

在Web 開發領域,JSON.stringify 函數是將JavaScript 物件轉換為JSON 字串的強大工具。但是,當嘗試對本機 Error 物件進行字串化時,會出現異常行為。傳回一個空對象,而不是預期的錯誤訊息。

探索異常

要深入研究這種現象,請考慮以下程式碼片段:

As如上所示,JSON.stringify 傳回一個空對象,表明本機Error 物件的屬性未字串化。此行為源自於 Error 物件中缺少可枚舉屬性。

為了驗證這一點,我們可以使用Object.getOwnPropertyNames 來擷取Error 物件中定義的屬性名稱:

但是,如果我們檢查屬性描述符,我們會發現所有可枚舉屬性都設定為false屬性:

Enigma的解決方案

儘管缺少可枚舉屬性,但存在一種使用JSON.stringify 字串化本機Error 物件的解決方法:

透過提供屬性名稱清單作為JSON.stringify 的第二個參數,我們明確指示它將它們包含在字串化過程中,甚至儘管預設情況下它們是不可枚舉的。

以上是為什麼 JSON.stringify 在字串化本機錯誤物件時回傳空物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板