在 Day01 的文章中有提到,
JavaScript 會先經過語法解析後,產生結構樹,代碼生成後才會運行
但在某些情況下,這些流程會產生錯誤
範例:
字串少寫一個單引號,會出現語法錯誤

console.log() 少一個括號分號,會顯示結尾錯誤

了解以上所產生的錯誤後,
接下來即將開始介紹 JavaScript 常見的錯誤中,取值與賦予值的關係
範例:
當使用函式取得值時,即為 RHS
下方範例是使用 console.log() 取得變數的值時,就能稱為 RHS,因為變數取得的值都在等號右邊

當使用變數來賦予變數值時,也使用到 RHS
下方範例是將 ming 這個變數賦予到 man 這個變數中,
會先從 ming 取值出來,再將值賦予到 man 中
所以整體過程為先執行 RHS,在執行 LHS

錯誤範例:
RHS 會在執行階段時發生錯誤,因此在編譯網站看不到錯誤
會出現 ReferenceError: min is not defined
該錯誤表示 min 這個變數沒有被定義,因此找不到他的值


範例:
將值從等號右側賦予到等號左側時,就能稱為 LHS,
將 '小明' 這個值賦予到 ming 這個變數中,此過程即為 LHS

錯誤範例:
如果賦予值到字串中的話,此時在編譯的過程就會出錯,
所以當看到 LHS 的錯誤時,要注意是否等號左邊的變數無法被賦予值

當遇到這些錯誤時,應該要立即修正,
在 JavaScript 的執行過程中,如果有遇到錯誤沒有修正的話,
在錯誤後面的程式碼都不會運行
下方範例中最後一行的 1 並沒有顯示出來

今天就到此為止,明天說明 JavaScript 語法作用域的部分