Type Casting, also called Type Conversion, is the process of converting a value from one data type to another.
JavaScript supports two types of type casting:
- Implicit Type Casting (Automatic Conversion)
- Explicit Type Casting (Manual Conversion)
Implicit Type Casting is automatically performed by JavaScript whenever different data types are used together in an expression.
var result = "The answer is: " + 42;
console.log(result);
console.log(typeof(result));The answer is: 42
string
- Here
"The answer is: "is a string. 42is a number.- JavaScript automatically converts
42into a string. - Then both values are concatenated.
This process is called Implicit Type Casting.
Explicit Type Casting means converting a value manually using built-in functions.
Some commonly used conversion functions are:
- Number()
- String()
- Boolean()
- parseInt()
- parseFloat()
var str = "123";
var num = Number(str);
console.log(num);
console.log(typeof(num));
var num2 = 456;
var str2 = String(num2);
console.log(str2);
console.log(typeof(str2));123
number
456
string
You can convert a string into a number using:
- Number()
- parseInt()
- parseFloat()
var s = "Virat";
console.log(s);
console.log(typeof(s));
var s1 = Number(s);
console.log(s1);
console.log(typeof(s1));Virat
string
NaN
number
"Virat"cannot be converted into a valid number.- Therefore Number() returns NaN.
- NaN means Not a Number.
var s2 = "v";
console.log(s2);
console.log(typeof(s2));
var s3 = Number(s2);
console.log(s3);
console.log(typeof(s3));v
string
NaN
number
var s4 = "";
console.log(s4);
console.log(typeof(s4));
var s5 = Number(s4);
console.log(s5);
console.log(typeof(s5));""
string
0
number
var s6 = " ";
console.log(s6);
console.log(typeof(s6));
var s7 = Number(s6);
console.log(s7);
console.log(typeof(s7));" "
string
0
number
You can convert a Number to String using:
- String()
- toString()
var age = 35;
console.log(age);
console.log(typeof(age));
var str = String(age);
console.log(str);
console.log(typeof(str));35
number
35
string
var marks = 97.5;
console.log(marks);
console.log(typeof(marks));
var str2 = String(marks);
console.log(str2);
console.log(typeof(str2));97.5
number
97.5
string
Note:
Use String() with a capital S.
string()is incorrect and will throw an error.
You can convert a String into Boolean using:
Boolean()- Non-empty String → true
- Empty String → false
var sa = "Sachin";
console.log(sa);
console.log(typeof(sa));
var sb = Boolean(sa);
console.log(sb);
console.log(typeof(sb));Sachin
string
true
boolean
var s1 = "";
console.log(s1);
console.log(typeof(s1));
var s2 = Boolean(s1);
console.log(s2);
console.log(typeof(s2));""
string
false
boolean
You can convert Boolean into String using:
- String()
- toString()
var s1 = true;
console.log(s1);
console.log(typeof(s1));
var s2 = String(s1);
console.log(s2);
console.log(typeof(s2));true
boolean
true
string
var s1 = false;
console.log(s1);
console.log(typeof(s1));
var s2 = String(s1);
console.log(s2);
console.log(typeof(s2));false
boolean
false
string
You can convert Boolean into Number using:
Number()| Boolean | Number |
|---|---|
| true | 1 |
| false | 0 |
var s1 = true;
console.log(s1);
console.log(typeof(s1));
var s2 = Number(s1);
console.log(s2);
console.log(typeof(s2));true
boolean
1
number
var s1 = false;
console.log(s1);
console.log(typeof(s1));
var s2 = Number(s1);
console.log(s2);
console.log(typeof(s2));false
boolean
0
number
You can convert Number into Boolean using:
Boolean()| Number | Boolean |
|---|---|
| 0 | false |
| Any Non-Zero Number | true |
var s1 = 42;
console.log(s1);
console.log(typeof(s1));
var s2 = Boolean(s1);
console.log(s2);
console.log(typeof(s2));42
number
true
boolean
var s1 = 0;
console.log(s1);
console.log(typeof(s1));
var s2 = Boolean(s1);
console.log(s2);
console.log(typeof(s2));0
number
false
boolean
-
Type Casting is the conversion of one data type into another.
-
JavaScript supports:
- Implicit Type Casting
- Explicit Type Casting
-
Number()converts values into numbers. -
String()converts values into strings. -
Boolean()converts values into booleans. -
NaNmeans Not a Number. -
Empty string
""converts to0using Number(). -
Empty string
""converts tofalseusing Boolean(). -
Any non-zero number converts to
true. -
true → 1andfalse → 0when converted to Number.
Type Casting is one of the most important concepts in JavaScript.
JavaScript allows:
- String ↔ Number
- String ↔ Boolean
- Number ↔ String
- Number ↔ Boolean
- Boolean ↔ Number
- Boolean ↔ String
Understanding Type Casting helps developers avoid unexpected results and write reliable JavaScript programs.