如何在 JavaScript 中解構一個物件到現有變數中
我遇到了這個問題。我需要呼叫一個函式來取得一些資料:
1 | const doSomething = () => { |
但是我需要將這一行程式碼包裹在一個 if
區塊中,以便只在使用者已登入時執行這行程式碼。然而,將 const
宣告移到 if
區塊內部的結果是,這些變數僅在該區塊內可見。
所以我想先宣告這些變數,初始化為未定義的變數,然後在資料到達後再更新它們的值。
第一部分很簡單:
1 | let a, b |
接下來是比較「棘手」的部分,因為我們需要在物件解構之前刪除 const
,但也需要用括號將整行程式碼包裹起來:
1 | let a, b |
另外,如果像我一樣不喜歡使用分號,則需要在這行程式碼之前加上一個分號,以防止可能的問題發生(如果你使用 Prettier,它也應該會自動為你加上分號):
1 | let a, b |
這是必需的,就像在以下情況下我們必須執行這樣的操作一樣:
1 | ;(() => { |
這能夠避免 JavaScript 將程式碼視為單獨的一行而無需使用分號結束。