The unary negation (-
) operator precedes its operand and negates it.
The unary negation (-
) operator precedes its operand and negates it.
const x = 4;
const y = -x;
console.log(y);
/ Expected output: -4
const a = "4";
const b = -a;
console.log(b);
/ Expected output: -4
-x
The -
operator is overloaded for two types of operands: number and coerces the operand to a numeric value and tests the type of it. It performs BigInt negation if the operand becomes a BigInt; otherwise, it performs number negation.
const x = 3;
const y = -x;
/ y is -3; x is 3
The unary negation operator can convert a non-number into a number.
const x = "4";
const y = -x;
/ y is -4
BigInts can be negated using the unary negation operator.
const x = 4n;
const y = -x;
/ y is -4n
Specification |
---|
ECMAScript® 2026 Language Specification # sec-unary-minus-operator |