Skip to content

noYodaExpression

诊断类别:lint/style/noYodaExpression

¥Diagnostic Category: lint/style/noYodaExpression

自从:v1.8.0

¥Since: v1.8.0

来源:

¥Sources:

  • 与以下相同:yoda

    ¥Same as: yoda

禁止使用 yoda 表达式。

¥Disallow the use of yoda expressions.

Yoda 表达式是一种编程风格,其中给定一个二进制运算,二进制运算的 “static” 部分放在左侧。此规则禁止使用 Yoda 表达式,并强制将二元运算的 “static” 部分放在右侧。

¥A Yoda expression is a programming style where, given a binary operation, the “static” part of the binary operation is placed on the left-hand side. This rule forbids the use of Yoda expressions and enforces the placing of the “static” part of the binary operations on the right-hand side.

¥Exceptions

允许使用像 0 < value && value < 1value <= 0 || 1 < value 这样的范围表达式。

¥Range expressions like 0 < value && value < 1 or value <= 0 || 1 < value are allowed.

¥Examples

¥Invalid

if ("red" == value) {}
code-block.js:1:5 lint/style/noYodaExpression  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Avoid the use of yoda expressions.

> 1 │ if (“red” == value) {}
^^^^^^^^^^^^^^
2 │

Yoda expressions can be confusing to some people, invert the expression operands for better readability.

Safe fix: Flip the operators of the expression.

1 - if·(red·==·value)·{}
1+ if·(value·==·red)·{}
2 2

if (true === value) {}
code-block.js:1:5 lint/style/noYodaExpression  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Avoid the use of yoda expressions.

> 1 │ if (true === value) {}
^^^^^^^^^^^^^^
2 │

Yoda expressions can be confusing to some people, invert the expression operands for better readability.

Safe fix: Flip the operators of the expression.

1 - if·(true·===·value)·{}
1+ if·(value·===·true)·{}
2 2

if (5 != value) {}
code-block.js:1:5 lint/style/noYodaExpression  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Avoid the use of yoda expressions.

> 1 │ if (5 != value) {}
^^^^^^^^^^
2 │

Yoda expressions can be confusing to some people, invert the expression operands for better readability.

Safe fix: Flip the operators of the expression.

1 - if·(5·!=·value)·{}
1+ if·(value·!=·5)·{}
2 2

¥Valid

if (value === "red") {}
if (value === value) {}
if (value != 5) {}
if (0 < value && value < 1) {}

¥Resources

¥Related links