typeof and instanceof for Number objects and primitive values

The typeof and instanceof operators work differently when dealing with primitive numbers versus reference numbers.

 
<!DOCTYPE html>
<html>
<head>
    <title>Example</title>
    <script type="text/javascript">
        var numberObject = new Number(10); 
        var numberValue = 10; 
        document.writeln(typeof numberObject); //"object" 
        document.writeln(typeof numberValue); //"number" 
        document.writeln(numberObject instanceof Number); //true 
        document.writeln(numberValue instanceof Number); //false 
       
    </script>
</head>
<body>
</body>
</html>
  
Click to view the demo

typeof primitive numbers returns "number". typeof Number objects returns "object". A Number object is an instance of Number, but a primitive number is not.

Home 
  JavaScript Book 
    Essential Types  

Number:
  1. The Number Type
  2. Number toExponential()
  3. Number toFixed()
  4. Number toPrecision()
  5. Number toString()
  6. Number valueOf()
  7. Converting Strings to Numbers
  8. typeof and instanceof for Number objects and primitive values