Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
参数数目可变的console.log的Typescript包装器_Typescript - Fatal编程技术网

参数数目可变的console.log的Typescript包装器

参数数目可变的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

我想在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', 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拯救了我的一天!