numberIt represents both integer and floating point numbers.
The special numeric values also belong to this data type: Infinity, -Infinity and NaN.
Infinity (and -Infinity) is a special numeric value that is greater (less) than anything.NaN represents a computational error.
NaN returns NaN.NaN is unique in that it does not equal anything, including itself.console.log(NaN === NaN); // false
console.log(isNaN(NaN)); // true
console.log(isNaN("str")); // true
isFinite(value) converts its argument to a number and returns true if it’s a regular number, not NaN, Infinity, or -Infinity.
isFinite is used to validate whether a string value is a regular number:isFinite.console.log(isFinite("15")); // true
console.log(isFinite("str")); // false, because a special value: NaN
console.log(isFinite(Infinity)); // false, because a special value: Infinit
Math computation is “safe” in JavaScript.
NaN as the result.let billion = 1e9; // 1 billion, literally: 1 and 9 zeroes
console.log( 7.3e9 ); // 7.3 billions (7,300,000,000)
console.log( 1e-6 ); // Six zeroes to the left from 1, which is 0.000001
console.log( 0xff ); // 255
console.log( 0xFF ); // 255 (the same, case doesn't matter)
let a = 0b11111111; // binary form of 255
let b = 0o377; // octal form of 255
let num = 255;
// The base can vary from 2 to 36. By default it’s 10.
console.log(num.toString(16)); // ff
console.log(num.toString(2)); // 11111111
// If we want to call a method directly on a number, then we need to place two dots .. after it.
console.log(123456..toString(36)); // 2n9c
parseInt and parseFloatparseInt and parseFloat “read” a number from a string until they can’t.
parseInt returns an integer, whilst parseFloat will return a floating-point number.parseInt/parseFloat will return NaN.
parseInt() function has an optional second parameter.
parseInt can also parse strings of hex numbers, binary numbers and so on.parseInt('100px'); // 100
parseFloat('12.5em'); // 12.5
parseInt('12.3'); // 12, only the integer part is returned
parseFloat('12.3.4'); // 12.3, the second point stops the reading
parseInt('a123'); // NaN, the first symbol stops the process
parseInt('0xff', 16); // 255
parseInt('ff', 16); // 255, without 0x also works
parseInt('2n9c', 36); // 123456
Math.floor: Rounds down: 3.1 becomes 3, and -1.1 becomes -2.Math.ceil: Rounds up: 3.1 becomes 4, and -1.1 becomes -1.Math.round: Rounds to the nearest integer: 3.1 becomes 3, 3.6 becomes 4 and -1.1 becomes -1.Math.trunc (not supported by IE): Removes anything after the decimal point without rounding: 3.1 becomes 3, -1.1 becomes -1.