# How to Negate a Number in JavaScript?

In JavaScript, you can negate a number (i.e. convert a positive number to negative, and a negative to positive) in the following ways:

## Using Unary Negation Operator

You may negate a number using the unary negation operator (`-`) like so:

```-n
```

This would convert a positive number to a negative number, and a negative number to a positive number. For example, you can use this in the following way:

```// ES6+
const negate = (num) => -num;

console.log(negate(1234)); // -1234
console.log(negate(-1234)); // 1234

console.log(negate(0)); // -0
console.log(negate(-0)); // 0
```

You can rewrite the "`negate`" function as a function declaration/statement (instead of using arrow function), to support versions of ES prior to version 6.

## Using Arithmetic Operators

You may convert a positive number to negative or vice versa by simply multiplying it by `-1`:

```n * -1
```

Similarly, you may also divide the number by `-1` to negate it:

```n / -1
```

You could use either of these, for example, like so:

```const negate = (num) => num * -1;

console.log(negate(1234)); // -1234
console.log(negate(-1234)); // 1234

console.log(negate(0)); // -0
console.log(negate(-0)); // 0
```
```const negate = (num) => num / -1;

console.log(negate(1234)); // -1234
console.log(negate(-1234)); // 1234

console.log(negate(0)); // -0
console.log(negate(-0)); // 0
```

As an alternative to dividing and multiplying by `-1`, you may subtract the number from `0` instead:

```0 - n
```

One important difference in subtracting the number from `0` is the fact that this returns `0` for both, positive and negative `0`. This is different from dividing and multiplying by `-1`, which returns `-0` when `0` is negated.

For example, you could use it in the following way:

```const negate = (num) => 0 - num;

console.log(negate(1234)); // -1234
console.log(negate(-1234)); // 1234

console.log(negate(0)); // 0
console.log(negate(-0)); // 0
```

This post was published by Daniyal Hamid. Daniyal currently works as the Head of Engineering in Germany and has 20+ years of experience in software engineering, design and marketing. Please show your love and support by sharing this post.