#### Students Empire

Learn Something New

# Subtract Operator

The subtract operator `(-)` is uses as follows:

`var result = 2 - 1;`

The subtract operator has rules to deal with the variety of type:

Operand Result
If the two operands are numbers perform arithmetic subtract and return the result
If either operand is NaN the result is NaN
If Infinity is subtracted from Infinity the result is NaN
If -Infinity is subtracted from -Infinity the result is NaN
If -Infinity is subtracted from Infinity the result is Infinity
If Infinity is subtracted from -Infinity the result is -Infinity
If +0 is subtracted from +0 the result is +0
If -0 is subtracted from +0 the result is -0
If -0 is subtracted from -0 the result is +0
If either operand is a string, a Boolean, null, or undefined it is converted to a number using Number() and the arithmetic is calculated using the previous rules.If that conversion results in NaN, then the result of the subtraction is NaN.
If either operand is an object, its valueOf() method is called to retrieve a numeric value to represent it.If that value is NaN, then the result of he subtraction is NaN.If the object doesn't have valueOf() defined, then toString() is called and the resulting string is converted into a number.
```				var result1 = 5 - true;    //4 because true is converted to 1
console.log(result1);/* w w w  .  jav  a2s.c o m*/
var result2 = NaN - 1;     //NaN
console.log(result2);
var result3 = 5 - 3;       //2
console.log(result3);
var result4 = 5 - "";      //5 because "" is converted to 0
console.log(result4);
var result5 = 5 - "2";     //3 because "2" is converted to 2
console.log(result5);
var result6 = 5 - null;    //5 because null is converted to 0
console.log(result6);
```