【问题标题】:Typescript: Add typing to function that uses "arguments" keyword打字稿:向使用“参数”关键字的函数添加打字
【发布时间】:2021-02-24 13:06:29
【问题描述】:

有没有办法向这个函数添加输入信息?更具体地说,如何将类型信息添加到 `arguments`?
function gtag() {
  dataLayer.push(arguments);
}

当然你得到的错误是Expected 0 arguments, but got 2. 尝试调用例如gtag(1, 2)。这段代码 sn-p 来自谷歌分析。
谢谢

【问题讨论】:

标签: typescript


【解决方案1】:

This SO questions might have the answer for your case,但是对于我们的 tsconfig / eslint 设置,这是允许编译的:

// eslint-disable-next-line @typescript-eslint/no-unused-vars
function gtag(..._args: any[]) {
  // eslint-disable-next-line prefer-rest-params
  dataLayer.push(arguments)
}

注意_args 中的下划线。至于回答问题本身,@mike-s 所说的似乎是真的,您不能将类型信息添加到arguments

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-30
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 2019-04-29
    • 1970-01-01
    相关资源
    最近更新 更多