了解「LHS、RHS」會有助於在查看 JS 的錯誤時,更知道該如何去除錯
LHS 正確執行
🎃 LHS 用來賦予值到左側的變數上
例如,下方是正確的執行:
1 | var ming = '小明'; // LHS:把'小明'賦予到「左側的變數 ming」上 |
LHS 的錯誤
🎃 當左側「不是一個變數」時,就沒有辦法被賦予值
例如:
當左側是一個「字串」,在 Console 就會顯示錯誤:「左側是無法被賦予值的」
1 | '小明' = 1; |
‼️ 這段錯誤,是屬於「編譯過程」中發生的錯誤因此,根本不會出現編譯的結果:(下方也會顯示出同樣的錯誤訊息)
RHS 正確執行
🎃 RHS 取值來自於右側的變數上
⭐️ 正確執行 範例一:宣告一個變數後,用 console.log 取出「右側變數」的值
1 | var ming = '小明'; // LHS:把'小明'賦予到「左側的變數 ming」上 |
⭐️ 正確執行 範例二:宣告一個變數ming
後,用「RHS」取出「右側變數ming
的值」之後,再用「LHS」把「ming
的值」賦予到「左側變數man
」上–> var man = ming;
1 | var ming = '小明'; // LHS:把'小明'賦予到「左側的變數 ming」上 |
RHS 的錯誤
延續上面的範例,我把console.log
的變數ming
故意寫錯成「min
」
1 | var ming = '小明'; // LHS:把'小明'賦予到「左側的變數 ming」上 |
‼️ RHS 不會在「編譯過程」中直接出現錯誤,而是在「執行階段」才會發現錯誤:「找不到此變數」
有錯誤,要立刻修正
注意!如果在 Console 有顯示錯誤,一定要立刻修正
因為,在 JavaScript 的執行過程中,如果有發生錯誤而沒有去修正,那麼後面的程式碼都不會被執行