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!