参数数目可变的console.log的Typescript包装器
我想在TypeScript中围绕console.log创建一个包装器,如下所示:参数数目可变的console.log的Typescript包装器,typescript,Typescript,我想在TypeScript中围绕console.log创建一个包装器,如下所示: var mylog = (...args: any[]) => { console.log(args); }; if (!!mylog) mylog('text', variableA, variableB); 所以我喜欢这样: var mylog = (...args: any[]) => { console.log(args); }; if (!!mylog) mylog('text', va
var mylog = (...args: any[]) => { console.log(args); };
if (!!mylog) mylog('text', variableA, variableB);
所以我喜欢这样:
var mylog = (...args: any[]) => { console.log(args); };
if (!!mylog) mylog('text', variableA, variableB);
并且可以将其设置为null以禁用日志记录
问题是:这不起作用 它工作正常:
var mylog = (...args: any[]) => { console.log(args); };
if (!!mylog) mylog('text', 1, 2); // ['text',1,2]
mylog = null;
if (!!mylog) mylog('text', 1, 2); // nothing printed
也许您不希望将其打印为数组
。您只需使用apply
:
var mylog = (...args: any[]) => { console.log.apply(console,arguments); };
如果(!!myLog)不执行
if(!!myLog)
,而要禁用日志记录,将其设置为空函数不是更简单吗?@Benjamin:你说得对!简单多了…巴萨拉特,再次感谢!你说得对,console.log.apply拯救了我的一天!