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并不是一个函数