You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

是否存在无需插件的ESLint规则禁止单行if语句中执行赋值操作

答案

可以通过ESLint原生的prefer-ternary规则实现该需求,无需引入第三方插件。

规则适配说明

  • 默认配置下,该规则仅会对「if-else两个分支均为同一个变量执行赋值操作」的场景抛出错误,刚好匹配你需要禁止的代码写法。
  • 对于你允许的两类写法,该规则不会触发校验:
    • if-else分支内为return语句
    • if-else分支内为自增/自减等非显式赋值操作

配置示例

在你的ESLint配置文件中添加如下规则即可:

{
  "rules": {
    "prefer-ternary": "error"
  }
}

校验效果验证

  1. 你给出的允许通过的代码:无任何报错,符合预期
  2. 你给出的需要报错的赋值类if-else代码:会触发该规则的错误提示,引导改用三元表达式完成赋值
  3. 你给出的推荐三元表达式写法:可正常通过校验

内容的提问来源于stack exchange,提问作者AncientSwordRage

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 09:57:03