在 JS 中使用 null 来声明文字成员以便稍后初始化是可行的做法吗?
Is using null to declare literal members for later initialization a viable praxis in JS?
我将声明一个文字如下:
var obj = {
x: null,
init: function (pX) {
this.x = pX;
}
};
反对?
我想这样做,因为 x: undefined
等同于根本不声明 x
。为以后的初始化声明文字成员时,什么是好的做法?
如果您出于某种原因需要 属性 作为占位符存在,null
是一个很好的值。您可以使用任何与初始化时将包含的值完全不同的值,并且具有可比性。
示例:
var obj = {
x: null,
init: function (pX) {
if (this.x == null) {
this.x = pX;
}
}
}
如果您不需要检查占位符的值(或出于其他一些奇怪的原因),那么您也不需要占位符。通过给它赋值来创建 属性 是完全有效的:
var obj = {
init: function (pX) {
this.x = pX;
}
}
我将声明一个文字如下:
var obj = {
x: null,
init: function (pX) {
this.x = pX;
}
};
反对?
我想这样做,因为 x: undefined
等同于根本不声明 x
。为以后的初始化声明文字成员时,什么是好的做法?
如果您出于某种原因需要 属性 作为占位符存在,null
是一个很好的值。您可以使用任何与初始化时将包含的值完全不同的值,并且具有可比性。
示例:
var obj = {
x: null,
init: function (pX) {
if (this.x == null) {
this.x = pX;
}
}
}
如果您不需要检查占位符的值(或出于其他一些奇怪的原因),那么您也不需要占位符。通过给它赋值来创建 属性 是完全有效的:
var obj = {
init: function (pX) {
this.x = pX;
}
}