Chapter 4. Working with Numbers and Math
4.0. Introduction
Numbers and numeric operations in JavaScript are managed by two
different JavaScript objects: Number
and Math.
Like the String and RegExp objects discussed in earlier chapters,
numbers can be both a literal value and an object. No surprises there, but
the Math object is different: it has no
constructor, and all properties and methods are accessed directly from the
object.
The Number Object and Number Literal
Numbers in JavaScript are floating point, though there may not be a decimal component present. If no decimal is present, they act as if they’re integers:
var someValue = 10; // treated as integer 10, in base 10
Numbers can be defined in the range of –253 to 253. Most numbers in JavaScript are literal values, assigned as values to variables, and used in various computations:
var myNum = 3.18; var newNum = myNum * someValue;
You can also construct a Number using a
constructor method:
var newNum = new Number(23);
You can assign a literal number to a variable, but when you access
a Number method on the variable, a
Number object is created to wrap the
literal value, which is discarded when the method is finished.
The Number object’s methods
provide various display operations, such as providing an exponential
notation:
var tst = .0004532; alert(tst.toExponential()); // outputs 4.532e-4
In addition, there are several static Number properties, which can only be accessed
via the Number object
directly:
alert(Number.MAX_VALUE); // outputs 1.7976931348623157e+308 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access