使用“初始化变量”是否是一种良好的做法;空";在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
}