Javascript-TypeConversions
In javascript provides numerous ways to convert data from one type to another type. There are two most common data conversions :
- Converting Values to String
- Converting Values to Numbers
Implicit Conversion:
There are different operator and functions in JavaScript which automatically converts a value to the right type like alert() function in JavaScript accepts any value and convert it into a string. But different operator creates a problem like ‘+’ operator.
Example:
<script>
document.write('("3" - "1") = ' + ("3" - "1") + "<br>");
document.write('("3" - 1) = ' + ("3" - 1) + "<br>");
document.write('("3" * "2") = ' + ("3" * "2") + "<br>");
document.write('("3" % "2") = ' + ("3" % "2") + "<br>");
document.write('("3" + null) = ' + ("3" + null) + "<br>");
</script>
OUTPUT:
(“3” – “1”) = 2
(“3” – 1) = 2
(“3” * “2”) = 6
(“3” % “2”) = 1
(“3” + null) = 3null
Converting Values to Strings:
you can use the String() or toString() method to convert a value to a string.
Syntax :
String(value)
Example:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JavaScript Convert a Boolean Value to String</title>
</head>
<body>
<script>
var bool = true;
document.write(typeof bool); // Prints: boolean
document.write("<br>");
var str = String(bool); // Becomes a string "true"
document.write(typeof str); // Prints: string
</script>
</body>
</html>
OUTPUT:
boolean
string
Example:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>JavaScript Convert Values to Strings</title> </head> <body> <script> document.write(String(10.5) + "<br>"); // Prints: "10.5" document.write(String(123) + "<br>"); // Prints: "123" document.write(String(100 + 23) + "<br>"); // Prints: "123" document.write(String(true) + "<br>"); // Prints: "true" document.write(String(false) + "<br>"); // Prints: "false" document.write(String(123e-1) + "<br>"); // Prints: "12.3" document.write(String(0xFF) + "<br>"); // Prints: "255" document.write(String(undefined) + "<br>"); // Prints: "undefined" document.write(String(null)); // Prints: "null" </script> </body> </html>
OUTPUT:
10.5
123
123
true
false
12.3
255
undefined
null
Converting Values to Numbers:
The Number() function is used to convert a value to a Number. It can convert any numerical text and a boolean value to a Number. In the case of strings of non-numbers, it will convert it to a NaN(Not a Number).
Example:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JavaScript Convert Values to Numbers</title>
</head>
<body>
<script>
document.write(Number("10.5") + "<br>"); // Prints: 10.5
document.write(Number(true) + "<br>"); // Prints: 1
document.write(Number(false) + "<br>"); // Prints: 0
document.write(Number(null) + "<br>"); // Prints: 0
document.write(Number(" 123 ") + "<br>"); // Prints: 123
document.write(Number(" ") + "<br>"); // Prints: 0
document.write(Number("") + "<br>"); // Prints: 0
document.write(Number("123e-1") + "<br>"); // Prints: 12.3
document.write(Number("0xFF") + "<br>"); // Prints: 255 (hexadecimal representation)
document.write(Number("undefined") + "<br>"); // Prints: NaN
document.write(Number("null") + "<br>"); // Prints: NaN
document.write(Number("Hello World!")); // Prints: NaN
</script>
</body>
</html>
OUTPUT:
10.5
1
0
0
123
0
0
12.3
255
NaN
NaN
NaN
Type Conversions Using Operators:
As + and – operators, can also be used to perform type conversions.
Example:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>JavaScript Perform Data Type Conversions Using Operators</title> </head> <body> <script> var x = "10"; // x is a string var y = +x; document.write(typeof(y) + "<br>"); // Prints: number document.write(y + "<br>"); // Prints: 10 var x = 10; // x is a number var y = x + ""; document.write(typeof(y) + "<br>"); // Prints: string document.write(y + "<br>"); // Prints: 10 var x = "15"; // x is a string var y = x - 0; document.write(typeof(y) + "<br>"); // Prints: number document.write(y + "<br>"); // Prints: 15 var x = "123"; document.write(typeof(!!x) + "<br>"); // Prints: boolean document.write(!!x + "<br>"); // Prints: true var x = "Hello World!"; var y = +x; document.write(typeof(y) + "<br>");// Prints: number document.write(y + "<br>"); // Prints: NaN </script> </body> </html>
OUTPUT:
number
10
string
10
number
15
boolean
true
number
NaN