💼 This rule is enabled in the ✅ recommended
config.
🔧 This rule is automatically fixable by the --fix
CLI option.
Math additions in ES2015:
- Math.sign()
- Math.trunc()
- Math.cbrt()
- Math.expm1()
- Math.log1p()
- Math.log10()
- Math.log2()
- Math.sinh()
- Math.cosh()
- Math.tanh()
- Math.asinh()
- Math.acosh()
- Math.atanh()
- Math.hypot()
- Math.clz32()
- Math.imul()
- Math.fround()
Currently, we only check a few known cases, but we are open to add more patterns.
If you find a suitable case for this rule, please open an issue.
Math.log(x) * Math.LOG10E
Math.LOG10E * Math.log(x)
Math.log(x) / Math.LN10
Math.log(x) * Math.LOG2E
Math.LOG2E * Math.log(x)
Math.log(x) / Math.LN2
Math.sqrt(a * a + b * b)
Math.sqrt(a ** 2 + b ** 2)
Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2))
This case requires prefer-exponentiation-operator
rule to fix it first.
Math.sqrt(x ** 2)
// This case fix to `Math.abs(x)`, since it should be better than `Math.hypot(x)`
See unicorn/prefer-math-trunc
rule.