我有这个:
EventSubscription.prototype.subscribe = function(name, fn, filters, callback) {
logger.debug('event subscriber subscribe:',{name,fn,filters});
};
我们在日志中得到了这个
debug: event subscriber subscribe: {"name":"NotifyStaffUponReferralCreate"}
我发现这很奇怪,因为即使我传递了未定义的参数,我也应该得到这个:
debug: event subscriber subscribe: {"name":"NotifyStaffUponReferralCreate", fn: undefined, filters: undefined}
有人知道为什么未定义的参数不会出现在对象分解中吗?
我的节点版本为v10.10.0
我做了一个小实验,看看会发生什么:
const foo = undefined;
const bar = 1;
const fn = function(bar, foo) {
console.log({foo,bar});
};
fn(bar);
fn(bar, foo);
我得到:
{ foo: undefined, bar: 1 }
{ foo: undefined, bar: 1 }
我不知道怎么回事。
答案 0 :(得分:0)
这是因为我正在将Winston日志记录包用于Node.js。