Skip to content

noConstantMathMinMaxClamp

诊断类别:lint/correctness/noConstantMathMinMaxClamp

¥Diagnostic Category: lint/correctness/noConstantMathMinMaxClamp

自从:v1.7.0

¥Since: v1.7.0

来源:

¥Sources:

禁止使用 Math.minMath.max 来限制结果本身为常数的值。

¥Disallow the use of Math.min and Math.max to clamp a value where the result itself is constant.

¥Examples

¥Invalid

Math.min(0, Math.max(100, x));
code-block.js:1:1 lint/correctness/noConstantMathMinMaxClamp  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

This Math.min/Math.max combination leads to a constant result.

> 1 │ Math.min(0, Math.max(100, x));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 │

It always evaluates to 0.

> 1 │ Math.min(0, Math.max(100, x));
^
2 │

Unsafe fix: Swap 0 with 100.

1 - Math.min(0,·Math.max(100,·x));
1+ Math.min(100,·Math.max(0,·x));
2 2

Math.max(100, Math.min(0, x));
code-block.js:1:1 lint/correctness/noConstantMathMinMaxClamp  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

This Math.min/Math.max combination leads to a constant result.

> 1 │ Math.max(100, Math.min(0, x));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 │

It always evaluates to 100.

> 1 │ Math.max(100, Math.min(0, x));
^^^
2 │

Unsafe fix: Swap 100 with 0.

1 - Math.max(100,·Math.min(0,·x));
1+ Math.max(0,·Math.min(100,·x));
2 2

¥Valid

Math.min(100, Math.max(0, x));

¥Related links