首页 > 解决方案 > tslint:我想强制参数 typedef 但允许推断类型

问题描述

在我的 tslint.json 我有这个:

"typedef": [true, "call-signature", "parameter"],
"no-inferrable-types": [true, "ignore-params"],

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

即使 start 和 end 被推断为数字,这也会失败:

transform(start = 6, end = 4): number {
    return;
}

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

这应该通过:

transform(start = 6, end = 4): number {
    return;
}

这应该失败:

transform(start, end): number {
    return;
}

标签: angulartypescripttypescript-typingstslint

解决方案


我知道这是一个旧的。

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

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


推荐阅读