JS: Number Constructor
new Number(arg)-
return a object that represent the number arg.
// Number called as constructor, returns object console.assert((typeof (new Number(3))) === "object"); Number(arg)-
return a Primitive Value of the number arg
// Number called as function, return primitive console.assert((typeof Number(3)) === "number");
Special Results
| Argument Type | Result |
|---|---|
undefined | Return NaN. |
null | Return +0. |
true or false | Return 1 if argument is true. Return +0 if argument is false. |
| Number | Return argument (no conversion). |
| String | Return a number or NaN. |
| Symbol | Throw a TypeError exception. |
| Object | Return a number or NaN |
Example: Special Literal Values of Number to Primitive
/* test convert undefined and null to number primitive. */ console.assert(Number.isNaN(Number(undefined)) === true); console.assert(Number(null) === 0); /* test convert boolean value to number primitive. */ console.assert(Number(true) === 1); console.assert(Number(false) === 0);
/* test convert number literal value to number primitive. */ console.assert(Number(Infinity) === Infinity); console.assert(Number(-Infinity) === -Infinity); console.assert(Number.isNaN(Number(NaN)));
Example: Convert String to Number Primitive
console.assert(Number("0.03") === 0.03); // extra zero before or after is ok console.assert(Number("00.03") === 0.03); console.assert(Number("00.030") === 0.03); // extra space in front or back are ok console.assert(Number(" 0.03 ") === 0.03); console.assert(Number(" +0.03 ") === 0.03); console.assert(Number(" -0.03 ") === -0.03); // cannot have space after sign console.assert(Number.isNaN(Number("- 0.03 "))); // cannot have space between digits console.assert(Number.isNaN(Number("1 000"))); // lowline is ok console.assert(Number.isNaN(Number("1_000")));
JavaScript. Number
- JS: Number
- JS: Number Input. Binary, Hexadecimal, Octal, Etc
- JS: Assignment Operators
- JS: Math Operators
- JS: Number Comparison Operators
- JS: Convert String and Number
- JS: Convert Decimal, Hexadecimal
- JS: Convert Decimal, Binary
- JS: Format Number
- JS: Random Integer Range Function 📜
- JS: Number (class)
- JS: Number Constructor
- JS: Number.prototype
- JS: Math (namespace)