Subtracts the value of one expression from another or provides unary negation of a single expression.

#### Syntax 1

*result* **=** *number1* **-** *number2*

#### Syntax 2

**-**number

#### Arguments

*result*
- Any numeric variable.
*number*
- Any numeric expression.
*number1*
- Any numeric expression.
*number2*
- Any numeric expression.

#### Remarks

In Syntax 1, the **-** operator is the arithmetic subtraction operator used to find the difference between two numbers. In Syntax 2, the **-** operator is used as the unary negation operator to indicate the negative value of an expression.

For Syntax 2, as for all unary operators, expressions are evaluated as follows:

- If applied to undefined or
**null** expressions, a run-time error is raised.
- Objects are converted to strings.
- Strings are converted to numbers if possible. If not, a run-time error is raised.
- Boolean values are treated as numbers (0 if false, 1 if true).

The operator is applied to the resulting number. In Syntax 2, if the resulting number is nonzero, *result* is equal to the resulting number with its sign reversed. If the resulting number is zero, *result* is zero.

#### Requirements

Version 1

#### See Also

-= Operator | Operator Precedence | Operator Summary