The Numbers are a primitive data type that represents numeric values. JavaScript numbers can be written with or without a decimal point, and can also be represented using scientific notation.
Examples of JavaScript numbers:
let x = 3;
let y = 3.14;
let z = 2.99e8;
JavaScript also provides several built-in methods for working with numbers, such as
toFixed()
for rounding a number to a specified number of decimal places,toPrecision()
for formatting a number with a specified number of significant digits, andisNaN()
for checking whether a value is not a number.
Some examples of using these methods:
let num = 3.14159;
let rounded = num.toFixed(2);
let formatted = num.toPrecision(3);
let isNotANumber = isNaN(num);
Adding Numbers and Strings
Adding numbers and strings can have different results depending on the data types involved.
When you add two numbers in JavaScript using the +
operator, the result is a numerical value:
var a = 5;
var b = 7;
var c = a + b;
console.log(c);
When you add two strings using the +
operator, the result is a concatenated string:
var a = "Hello";
var b = "World";
var c = a + b;
console.log(c);
However, when you add a number and a string using the +
operator, JavaScript will convert the number to a string and concatenate the two values:
var a = 5;
var b = " apples";
var c = a + b;
console.log(c);
Alternatively, you can use string interpolation (template literals) to combine a number and a string:
var a = 5;
var b = "apples";
var c = `${a} ${b}`;
console.log(c);
Adding values of different data types without conversion can lead to unexpected behavior/errors.
Numeric Strings
Numeric strings are strings that contain only numeric characters, but are still represented as strings rather than numerical values.
For example, "10"
is a numeric string, but 10
is a number.
To convert a numeric string to a number in JavaScript, you can use the parseInt()
or parseFloat()
functions. The parseInt()
function converts a string to an integer, while the parseFloat()
function converts a string to a floating-point number.
var a = "10";
var b = "3.14";
var c = parseInt(a);
var d = parseFloat(b);
console.log(typeof(c), c);
console.log(typeof(d), d);
You can also perform arithmetic operations on numeric strings directly, but JavaScript will attempt to convert the string to a number before performing the operation:
var a = "5";
var b = "10";
var c = a + b;
console.log(c);
In the above example:
- JavaScript concatenates the two strings instead of performing addition because the
+
operator is used with two strings. - To add the two numeric strings together, you need to convert them to numbers first:
var a = "5";
var b = "10";
var c = parseInt(a) + parseInt(b);
console.log(c);
When converting a numeric string to a number, ensure it only contains valid numeric characters.
Invalid characters can cause conversion to fail or result in unexpected behavior.