使用“初始化变量”是否是一种良好的做法;空";在JavaScript中

使用“初始化变量”是否是一种良好的做法;空";在JavaScript中,javascript,Javascript,哪一个更有意义 var myVar = null; myVar = someLogic(); //someLogic() might return a primitive or an object if(myVar){ //other logic } 或 在JavaScript中,通常没有很好的理由将变量初始化为null 在像C这样的语言中,变量应该在使用之前进行初始化,因为对于未初始化变量的值没有任何保证——它可以是0、1、2、283942或任何值。然而,JavaScript没有这样

哪一个更有意义

var myVar = null;

myVar = someLogic(); //someLogic() might return a primitive or an object

if(myVar){
  //other logic
}


在JavaScript中,通常没有很好的理由将变量初始化为
null

在像C这样的语言中,变量应该在使用之前进行初始化,因为对于未初始化变量的值没有任何保证——它可以是0、1、2、283942或任何值。然而,JavaScript没有这样的问题。在JavaScript中,已声明但未初始化的变量将始终具有值
undefined

undefined
是它自己在JavaScript中的类型。当强制转换为布尔值时,它将变为
false

undefined==null
返回
true
,但
undefined==null
返回
false

从语义上讲,
undefined
表示尚未设置值,而
null
表示没有值,但我们可能期望有值。但是,这没有硬性规定,因为您总是可以手动将值
未定义的
分配给变量–我不建议这样做


一般来说,将未初始化变量设置为
null
会浪费时间。

初始化变量除了将其设置为您想要的值之外没有任何意义。它们是不同的。第二种情况是,myVar被设置为未定义的,而不是null。为什么您认为将其初始化为
null
可能是最佳做法?这与JS无关。JS准备好处理空值和未定义值,没有任何问题。出于逻辑目的,两者都是“FALSE”。最佳实践显然是
var myVar=someLogic()
var myVar;

myVar = someLogic(); //someLogic() might return a primitive or an object

if(myVar){
  //other logic
}