今天我們來談談 JavaScript 的空格是什麼吧 !
空格 (Whitespace)
空格是指可以在程式碼中建立文字空間 (Literal Space) 的無形字元 (Invisible Character),像是 Carriage returns (Enter), tabs, spaces,它們可讓我們的程式碼有更高的可讀性,但不會被真正的執行。
當我們遇到 Dangerous Aside 的單元,代表我們要警告一些程式語言真正危險的地方,沒有程式語言是完美的,我們已經看過幾個 JavaScript 需要注意的地方,但這個單元要講的是真正危險的地方,會非常容易犯錯,也很難追蹤,是我們一定要避免的情況,此次的 Dangerous Aside 與 JavaScript 的語法解析器和它的自動插入分號 (Automatic Semicolon Insertion) 有關。
今天我們再次來討論如何將我們所學的應用到框架或函式庫中,我們先花一些時間來了解 JavaScript 所沒有,但其他程式語言有的,以及為何對 JavaScript 不重要的東西,這個東西是 function overloading (重載函式)。
在其他的程式語言 (C#, C++, Java) 都有 function overloading 的概念,這表示我們能讓相同名稱的 function 能夠擁有不同數量的參數,這在 JavaScript 是不行的,因為 function 是物件 (即是參數的數量不同,還是會參照到同一個位址),所以 JavaScript 沒有這類處理 function 的功能。
今天我們要來談談 JavaScript 的另一個特殊關鍵字,是 JavaScript 引擎在執行 function 時自動設定好的,我們稱之為 arguments (參數),而在下一版的 JavaScript 中,可能不會這麼常使用 arguments,我們會提到一個新的方法來處理 arguments 所做的事情,那便是 Spread,不過如果我們去看那些框架或函式庫,還是能在程式碼中看到 arguments 出現。