In JavaScript, data can be converted automatically or using functions. In this article, we will learn how data conversion methods work in JS and why adding 5 and 5 together can get 55 instead of 10.
Let's analyze the example:
var a = 5; // number
var b = "5"; // string
var c = a + b;
alert(c); // 55
alert(typeof(c)) // string
When we add 5
and 5
, we expect to see the output — 10
. However, we get 55
and see that the data type is not a number, but a string.
JavaScript automatically converted the variable a
to a string and concatenated it with the variable b
into a single string.
To make the data type expected by the developer, use conversion functions. Let's look at them in detail.
Converting to a string in JavaScript
To convert a number to a string, use the function String()
.
For example:
var a = 5; // number
a = String(a); // convert the variable а to string
alert(typeof(a)); //string
Converting to a number in JavaScript
To convert data to a number, use the function Number()
. Let's try converting a string value 5
to a number.
var a = "5"; // string
a = Number(a); // convert the variable а to number
alert(typeof(a)); //number
If you use strings in mathematical expressions, JavaScript automatically converts variables to numbers.
For example:
var a = "5"; // string
var b = "5"; // string
var c = a / b;
alert(c);// print 1, that is expected by dividing 5 on 5
alert(typeof(c)); // number
Logical conversion to JavaScript
For logical conversion, use the function Boolean()
.
Types empty string
,NaN
, undefined
, null
— is converted to false.
All other data, such as numbers and strings, is converted to true.
For example:
var a = "null";
alert(Boolean(a)); // false
var a = "0";
alert(Boolean(a)); //true
var a = " "; // space
alert(Boolean(a)); // true
var a = ""; // empty, without spaces and other characters
alert(Boolean(a)); // false
Let's sum up the results
JavaScript can transform data automatically:
- numbers are converted to strings if they are used in expressions with a string;
- if the strings contain numbers and mathematical operations are performed with them, they are converted to numbers.
For conversion, use the functions:
-
String()
- converts data to numbers. -
Number()
- converts data to strings. -
Boolean()
- converts data to boolean values true or false.
Top comments (2)
Thank you for this great explanation!
You're welcome!