假设我有一个名为Logger的日志类。
let log = new Logger(...);
当类实例作为函数调用时,是否可以在该类中指定一个魔术方法?例如
log(...)
在php中实现__invoke()类的魔术方法实现了同样的目的。
答案 0 :(得分:3)
function Logger() {
return function log(arg1, arg2) {
//@TODO: use the function's args
// or the arguments property to
// generate the log
console.log(log.arguments);
}
}
logger = new Logger();
logger('boom', 123, 'yolo');
这个解决方案应该是您正在寻找的技巧。可能会在下面的评论中找到最佳设置或更好的设置方法。