Type coercion
{{GlossarySidebar}}
Type coercion is the automatic or implicit conversion of values from one data type to another (such as strings to numbers). {{Glossary("Type conversion")}}
is similar to type coercion because they both convert values from one data type to another with one key difference — type coercion is implicit whereas type conversion can be either implicit or explicit.
Examples
const value1 = "5";
const value2 = 9;
let sum = value1 + value2;
console.log(sum);
In the above example, JavaScript has coerced the 9
from a number into a string and then concatenated the two values together, resulting in a string of 59
. JavaScript had a choice between a string or a number and decided to use a string.
The compiler could have coerced the 5
into a number and returned a sum of 14
, but it did not. To return this result, you’d have to explicitly convert the 5
to a number using the {{jsxref("Global_Objects/Number", "Number()")}}
method:
sum = Number(value1) + value2;
See also
- Type conversion (Wikipedia)
- Related glossary terms:
{{Glossary("Type")}}
{{Glossary("Type conversion")}}