tslint:我想强制参数 typedef 但允许推断类型

Ang*_*Boy 5 typescript tslint typescript-typings angular

在我的 tslint.json 中我有这个:

"typedef": [true, "call-signature", "parameter"],
"no-inferrable-types": [true, "ignore-params"],
Run Code Online (Sandbox Code Playgroud)

因为我想强制函数具有返回类型并且参数具有类型,但这迫使我在推断参数上具有类型。例子:

即使开始和结束被推断为数字,这也会失败:

transform(start = 6, end = 4): number {
    return;
}
Run Code Online (Sandbox Code Playgroud)

有没有办法强制参数只有在未像示例那样初始化时才具有类型?

这应该通过:

transform(start = 6, end = 4): number {
    return;
}
Run Code Online (Sandbox Code Playgroud)

这应该会失败:

transform(start, end): number {
    return;
}
Run Code Online (Sandbox Code Playgroud)

Ale*_*ich 0

我知道这是一个旧的。

您是否应该在不带任何参数的情况下删除typedef并启用no-inferrable-types

对于函数返回值,您可以使用@typescript-eslint/explicit-module-boundary-types