JavaScript中undefined与ReferenceError的区别是什么?

5 min read

JavaScript 中,undefined 和 ReferenceError 两个概念并不相同。

undefined 表示一个变量已经被声明了,但是还没有被赋值。举个例子:

let x;
console.log(x); // 输出 undefined

而 ReferenceError 表示该变量根本就未被声明,无法找到。举个例子:

console.log(x); // 抛出 ReferenceError: x is not defined

可以看到,在第一个例子中,变量 x 已经被声明了,尽管没有被赋值,所以输出 undefined。但是在第二个例子中,我们并没有声明变量 x,所以会抛出 ReferenceError。

总结来说,undefined 表示一个变量已经被声明但是还没有被赋值,而 ReferenceError 表示该变量根本就没有被声明。