不可省略的分號 ;


Posted by mijouhsieh on 2023-04-16

getRandomNumberArray(count) {
    const number = Array.from(Array(count).keys())
    for (let index = number.length - 1; index > 0; index--) {
      let randomIndex = Math.floor(Math.random() * (index + 1))
      ;[number[index], number[randomIndex]] = [number[randomIndex], number[index]]
    }
    return number
  }

注意在程式碼裡有一個分號 ;,不是寫錯的。

在 JavaScript 的分號代表「這個執行語句結束了」,大部分的分號都是可以省略的,這裡剛好是不可以省略的。

因為前面呼叫了 Math.floor() 這個函式庫,如果沒有加上分號,會和後面的 [] 連起來,
被解讀成 Math.floor()[],雖然沒有實際的意義,
但因為瀏覽器對 JavaScript 的語法解析很寬鬆,這裡會發生錯誤,
所以需要加上分號變成 Math.floor();[] 來把執行語句隔開。


#不可省略的分號







Related Posts

滲透測試基本技術 第三章 (003)

滲透測試基本技術 第三章 (003)

Android Keyboard 顯示管理

Android Keyboard 顯示管理

使用 iSH 讓 Obsidian 在 iOS 設備上同步

使用 iSH 讓 Obsidian 在 iOS 設備上同步


Comments