JavaScript中的ReferenceError和TypeError等错误的区别
作为前端工作人员,在调试JavaScript程序的时候经常遇到两个错误:ReferenceError和TypeError。下面就对我这两种错误说说我的见解
1.首先:字面上的意思分别为引用错误和类型错误;
2.作用域:ReferenceError就是在作用域中找不到、TypeError是在作用域中找到了但是 做了它不可能做的事情。
if (true) { const MAX = 5; } MAX // Uncaught ReferenceError: MAX is not defined
if (true) { console.log(MAX); // ReferenceError const MAX = 5; }
const foo = {}; // 将 foo 指向另一个对象,就会报错 foo = {}; // TypeError: "foo" is read-only
const foo; // SyntaxError: Missing initializer in const declaration