一个简单的课程:
export class Logger {
constructor(private name: string) {}
debug(...args: any[]) {
console.debug(...args)
}
log(...args: any[]) {
console.log(...args)
}
}
据我所知,我可以将任何内容传递给console.log
和console.debug
,所以我将如何获得:
src/app/logging.ts(6,5): error TS2346: Supplied parameters do not match any signature of call target. src/app/logging.ts(10,5): error TS2346: Supplied parameters do not match any signature of call target.
执行.apply(args)
是否有效,但那么...args
语法是什么意思?
我使用的是TypeScript版本2.2.2。
答案 0 :(得分:1)
console.log
定义为
log(message?: any, ...optionalParams: any[]): void;
尝试切换到
export class Logger {
constructor(private name: string) {}
debug(msg?: any, ...args: any[]) {
console.debug(msg, ...args)
}
log(msg?: any, ...args: any[]) {
console.log(msg, ...args)
}
}