# prefer-exponentiation-operator

Prefer the exponentiation operator to a well-known power function

The canonical `Math.pow(base, exponent)` call performs the same operation as `base ** exponent`.
Instead, you SHOULD use the exponentiation operator.

- Category: style
- Level: warning
- Fix: automatic
- Scope: module

## Reported

```ds title="main.ds"
function square(value: number): number {
    return Math.pow(value, 2);
}
```

## Accepted

```ds title="main.ds"
function square(value: number): number {
    return value ** 2;
}
```

## Prior art

- [ESLint · prefer-exponentiation-operator](https://eslint.org/docs/latest/rules/prefer-exponentiation-operator)

[language/linter/src/rules/style/prefer_exponentiation_operator.rs:8](https://github.com/destack-sh/destack/blob/main/language/linter/src/rules/style/prefer_exponentiation_operator.rs#L8)
