typescript - 类型 'IArguments' 不是数组类型

标签 typescript angular

我正在尝试创建自定义记录器。非常简单,但我正在尝试消除错误,因此我没有困惑的输出。我有这样的东西:

@Injectable()
export class Logger {
    log(...args: any[]) {
        console.log(...arguments);
    }
}

但它在控制台中给出了以下错误:

Logger.ts(6,9): Error TS2346: Supplied parameters do not match any signature of call target.

Logger.ts(6,24): Error TS2461: Type 'IArguments' is not an array type.

执行此操作的正确方法是什么?

最佳答案

console.log 调用不正确,只是传递接收到的参数:

@Injectable()
export class Logger {
    log(...args: any[]) {
        console.log(args);
    }
}

或者作为一个真正的控制台打印:

@Injectable()
export class Logger {
    log(...args: any[]) {
        console.log.apply(console, args);
    }
}

关于typescript - 类型 'IArguments' 不是数组类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38016431/

相关文章:

node.js - AWS SNS - 无效参数 - 电话号码无效,无法发布到。仅限特定电话号码

javascript - 错误语法错误 : Unexpected token < in JSON at position 0

javascript - ionic \Angular 2 : string does not updated after settimeout

Angular 5 : How to broadcast event from authguard to header?

javascript - 使用 setValue angular 4 时,错误在位置 0 处缺少数字

javascript - 处理 Angular 2+ 中子组件中通过引用传递的对象

javascript - session 超时不断调用 Angular 6 中的函数

javascript - 如何在 Angular 中获取所选选项的索引

javascript - angular2 组件内的 dhtmlx

typescript - 单独函数中 "not undefined"的自定义 TypeScript 类型保护