是否存在可限制单个函数内return语句数量的ESLint规则?
限制函数内return语句数量的ESLint规则
ESLint 内置了完全匹配该需求的核心规则,无需安装任何第三方插件即可使用,规则名为 max-return-statements,作用就是统计单个函数内所有 return 语句的数量,超出设定阈值时抛出校验错误。
配置方法
规则接收一个数值参数,用于指定单个函数允许包含的最大 return 语句数量,你需要的「超过4条return即报错」的配置写法如下:
{ "rules": { "max-return-statements": ["error", 4] } }
生效效果
配置最大阈值为4时,校验逻辑和你给出的预期完全一致:
- 错误示例(函数内共5条return,超出阈值,触发报错)
function Foo(str) { if (str === "a") { return "a"; } else if (str === "b") { return "b"; } else if (str === "c") { return "c"; } else if (str === "d") { return "d"; } else { return "others"; } }
- 正确示例(函数内共4条return,未超出阈值,校验通过)
function Foo(str) { if (str === "a") { return "a"; } else if (str === "b") { return "b"; } else if (str === "c") { return "c"; } else { return "others"; } }
该规则会统计函数内所有位置的return语句,包括嵌套在条件分支、循环、内层判断里的return,和常规的数量统计逻辑一致。
内容的提问来源于stack exchange,提问作者tom yam
相关产品推荐
相关产品推荐

