ES6 陣列解構不規則
使用ES6 陣列解構時會出現一個有趣的異常,如以下程式碼片段所示:
使用ES6 陣列解構時會出現一個有趣的異常,如以下程式碼片段所示:<code class="javascript">let a, b, c; [a, b] = ['A', 'B']; [b, c] = ['BB', 'C']; console.log(`a=${a} b=${b} c=${c}`);</code>
預期:
a=A b=BB c=C實際:
分析:
根本原因在於缺少分號,這是由JavaScript 中的自動分號插入(ASI)功能啟用的。然而,在這種特定情況下,ASI 不會以人們期望的方式插入分號。 程式碼邏輯剖析如下:<code class="javascript">let a = undefined, b = undefined, c = undefined; [a, b] = (['A', 'B'] [(b, c)] = ['BB', 'C']); console.log(`a=${a} b=${b} c=${c}`);</code>
解:
要繞過這個特性,在以(、[、/、、- 或` 開頭的每一行的開頭顯式增加分號至關重要。以上是為什麼不使用分號的 ES6 陣列解構會表現出不規則行為?的詳細內容。更多資訊請關注PHP中文網其他相關文章!