具有可变数量参数的 console.log 的打字稿包装器

Ser*_*ver 3 typescript

我想围绕 console.log 在 TypeScript 中创建一个包装器,如下所示:

var mylog = (...args: any[]) => { console.log(args); };
Run Code Online (Sandbox Code Playgroud)

所以我记录如下:

if (!!mylog) mylog('text', variableA, variableB);
Run Code Online (Sandbox Code Playgroud)

并且可以将其设置为 null 以禁用日志记录。

问题是:这不起作用!

bas*_*rat 8

它工作正常:

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
Run Code Online (Sandbox Code Playgroud)

也许您不希望它打印为array. 你可以只使用apply

var mylog = (...args: any[]) => { console.log.apply(console,arguments); };
Run Code Online (Sandbox Code Playgroud)

  • 巴萨拉特,再次感谢!你是对的,console.log.apply 拯救了我的一天! (2认同)