首頁  >  文章  >  web前端  >  為什麼在 Google Chrome 中使用反引號和 `console.log` 會產生 `[\'1\', raw: Array[1]]` 輸出?

為什麼在 Google Chrome 中使用反引號和 `console.log` 會產生 `[\'1\', raw: Array[1]]` 輸出?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-26 13:36:14248瀏覽

Why Does Using Backticks with `console.log` Produce a `[

JS 之謎:反引號(…) 呼叫函數

在Google Chrome 中,執行console.log1 時,會出現類似console.log1 的輸出產生了["1", raw: Array[1]]`,引發了關於呼叫函數和反引號的神秘行為的問題「原始」陣列的本質。

為了解開這個謎團,我們深入研究 ES-6 標記模板的世界。這些函數接受模板字串的解析值和單獨的值,從而實現自訂後處理。在 console.log1 的情況下,標記函數傳遞值“1”,然後將其附加為 ["1", raw: Array[1]]` 並隨後列印。

幕後,Babel 將 ES-6 程式碼轉換為瀏覽器接受的形式,然後將標記值傳遞到 console.log。此過程涉及以下內容的轉譯:

_taggedTemplateLiteralLoose( ["1"], ["1"] );

此轉譯的結果隨後傳遞到 console.log,它輸出數組,解釋「1」和原始數組[1] 的存在。

以上是為什麼在 Google Chrome 中使用反引號和 `console.log` 會產生 `[\'1\', raw: Array[1]]` 輸出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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