不可省略的分號 ;


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

Day 2 - Data Type & Calculate

Day 2 - Data Type & Calculate

曼陀號領航計畫(3) Meeting

曼陀號領航計畫(3) Meeting

資訊安全:XSS

資訊安全:XSS


Comments