ReferenceError:
相較於TypeError,ReferenceError 其實更容易被理解,他的錯誤就是字面意思,引用錯誤。這意味着在嘗試引用一個不存在當前作用域中的變量/常量時產生的錯誤。
let a = b; // ReferenceError,因為 b 未被定義 console.log(c) // ReferenceError,因為 c 未被定義
TypeError:
TypeError 會發生在值的類型不符合預期時。換句話說,在對值的操作方法不存在或並未正確的定義時,TypeError 就會被返回。
let a; // a = undefined console.log(a.b) // TypeError,無法從 undefined 這個類型上讀取屬性 let c = 1; console.log(c()) // TypeError,c並不是一個函數