Skip to content
← Back to rules

eslint/no-return-assign 风格

它做了什么

禁止在返回语句中使用赋值运算符。

为什么这是不好的?

在 JavaScript 中,返回表达式允许使用赋值,但通常仅包含一个等号的表达式本意应为比较。然而,由于缺少等号,这会变成赋值,而这是有效的 JavaScript 代码。
由于这种歧义,最佳实践是不在返回语句中使用赋值。

示例

此规则的错误代码示例:

js
() => (a = b);
function x() {
  return (a = b);
}

此规则的正确代码示例:

js
() => (a = b);
function x() {
  var result = (a = b);
  return result;
}

配置

此规则接受以下字符串值之一:

"always"

禁止在返回语句中出现所有赋值。

"except-parens"

仅当赋值被括号包围时,才允许在返回语句中使用赋值。
这是默认模式。

如何使用

要通过配置文件或 CLI 启用此规则,可以使用:

json
{
  "rules": {
    "no-return-assign": "error"
  }
}
bash
oxlint --deny no-return-assign

参考资料