跳至主要内容

一致的返回值

要求return语句始终或从不指定值。

💭

此规则需要类型信息才能运行。

此规则扩展了基本eslint/consistent-return规则。此版本添加了对返回voidPromise<void>的函数的支持。

警告

如果可能,建议使用 tsconfig 的noImplicitReturns选项而不是此规则。noImplicitReturns由 TS 的类型信息和控制流分析提供支持,因此它比此规则具有更好的覆盖范围。

function foo(): undefined {}
function bar(flag: boolean): undefined {
if (flag) return foo();
return;
}

async function baz(flag: boolean): Promise<undefined> {
if (flag) return;
return foo();
}
在游乐场中打开

选项

参见eslint/consistent-return选项.

如何使用

.eslintrc.cjs
module.exports = {
"rules": {
// Note: you must disable the base rule as it can report incorrect errors
"consistent-return": "off",
"@typescript-eslint/consistent-return": "error"
}
};

在游乐场中尝试此规则 ↗

何时不使用它

类型检查的 lint 规则比传统的 lint 规则更强大,但也需要配置类型检查的 linting。如果在启用类型检查规则后遇到性能下降,请参见性能故障排除

资源

来自ESLint 核心的 ❤️。