我想知道JavaScript中null和undefined之间的区别。
当前回答
基本上,Undefined是javascript在运行时创建的一个全局变量,无论null是否意味着没有给变量赋值(实际上null本身就是一个对象)。
让我们举个例子:
var x; //we declared a variable x, but no value has been assigned to it.
document.write(x) //let's print the variable x
未定义,这是您将获得的输出。
现在
x=5;
y=null;
z=x+y;
你将得到5作为输出。这是Undefined和null之间的主要区别
其他回答
null-它是一个赋值值,与变量一起使用以表示任何值(它是对象)。
undefined-它是一个没有赋值的变量,所以JavaScript会给它赋值一个undefineed(它是一种数据类型)。
未声明-如果根本没有创建变量,则称为未声明。
未定义表示变量已声明但没有值:
var var1;
alert(var1); //undefined
alert(typeof var1); //undefined
Null是赋值:
var var2= null;
alert(var2); //null
alert(typeof var2); //object
当您在javascript中声明一个变量时,它被赋值为undefined。这意味着变量是未被修改的,可以在将来分配任何值。这也意味着您不知道该变量在声明时将保持的值。
现在可以显式地将变量赋值为null。这意味着变量没有任何值。例如,有些人没有中间名。因此,在这种情况下,最好将值null赋给person对象的中间名变量。
现在假设某人正在访问person对象的中间名变量,并且该变量的值未定义。他不知道开发人员是否忘记初始化这个变量,或者它是否没有任何值。如果它的值为null,那么用户可以很容易地推断middlename没有任何值,并且它不是一个未触及的变量。
在Javascript中,null是一个空值或不存在的值,必须赋值。但Undefined表示已声明变量,但未定义值。
let a = null;
console.log(a); // null
let b;
console.log(b); // undefined
在JS中,null和undefined都是原始值。您还可以查看以下代码行
console.log(typeof null); //Object
console.log(typeof undefined); //undefined
console.log(10+null); // 10
console.log(10+undefined); //NaN
null和undefined都用于表示缺少某个值。
var a = null;
a被初始化和定义。
typeof(a)
//object
null是JavaScript中的对象
Object.prototype.toString.call(a) // [object Object]
var b;
b未定义且未初始化
未定义的对象财产也是未定义的。例如,“x”未在对象c上定义,如果您尝试访问c.x,它将返回undefined。
通常,我们为未定义的变量赋值null。