如果我想创建一个回调对象,就像这样:
var callback = {
err:'String',
data:'String'
};
如何在不使用值初始化err
和data
的情况下创建此对象?我可以吗?
我需要检查err是否未定义,因此我可以知道是否需要处理错误,因为这是一个回调。
答案 0 :(得分:1)
你可以像这样创建一个空对象:
var o = { };
答案 1 :(得分:1)
“没有价值”的东西在javascript中称为“未定义”,因此您必须将其值设置为未定义。
obj = Object.create({}, {
err: { writable: true, enumerable: true, configurable: true },
data: { writable: true, enumerable: true, configurable: true }
})
甚至更简单:
var undef;
obj = {
err: undef,
data: undef
}
为了响应您的编辑,最初创建一个空对象会更容易,然后使用err
检查是否定义了in
:
if('err' in obj)
got an error!
答案 2 :(得分:1)
var callback = {};
在查找err
或data
时,值将是未定义的。您可以将它们分配给您以后想要的任何内容。