我有一个很简单的问题,但我找不到任何一个完整的答案。
JavaScript的null
和undefined
是未初始化变量的值,也是查询不存在的对象属性或数组元素的值时得到的值。
我最初认为,当我们试图访问不存在的对象属性或不存在的数组元素时,会得到一个ReferenceError
,但事实证明并非如此。
但是在哪些情况下它会抛出ReferenceError
呢?
如果有人能告诉它可以抛出referenceerror
的所有情况,我将非常感激
当您执行以下操作时,将出现引用错误:
JavaScript的null和undefined是未初始化变量的值
否。已声明但未赋值的变量或未赋值的属性将以未定义
作为默认值。 也可以显式分配未定义
。 null
只能显式分配。
当您试图访问一个变量,而该变量没有在正在访问的同一变量的作用域中定义,那么我们会得到一个reference error
。
对于前,
//Try accessing x
console.log(x)
//Output
Uncaught ReferenceError: x is not defined
at <anonymous>:1:13
在下面的示例中,我们定义了x
,但是没有分配任何值,因此默认情况下undefined
将是值。
null
let x;
console.log(x)