在JavaScript中使用“null”初始化变量是一个好习惯

时间:2016-08-24 18:39:42

标签: javascript

哪一个更有意义

var myVar = null;

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

if(myVar){
  //other logic
}

OR

var myVar;

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

if(myVar){
  //other logic
}

1 个答案:

答案 0 :(得分:7)

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

在像C这样的语言中,变量应该在使用前始终初始化,因为无法保证未初始化变量的值 - 它可以是0,1,2或283942,或任何东西。但是,JavaScript没有这样的问题。在JavaScript中,已声明但未初始化的变量将始终具有值undefined

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

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

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

通常,将未初始化的变量设置为null会浪费时间。