是否有ESLint规则禁用单行if语句并要求使用块级语法?
存在对应的ESLint规则
有专门的ESLint规则可以实现这个需求:curly
规则作用
该规则强制要求所有控制语句(包括if、else、while等)使用块级花括号包裹代码,禁止单行无花括号的写法。
配置方式
在你的ESLint配置文件(如.eslintrc.js或.eslintrc.json)中添加或修改如下配置:
{ "rules": { "curly": "error" } }
默认的"error"级别已经会强制所有单行控制语句添加花括号,若需更精细控制,也可指定规则选项(比如仅针对特定控制语句生效),但多数场景下默认配置已足够满足需求。
效果示例
- 会被ESLint报错的写法:
if (foo === 'bar') throw new Error('Foo is bar');
- 符合规则的正确写法:
if (foo === 'bar') { throw new Error('Foo is bar'); }
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

