In this blog post, we examine the role of type coercion in JavaScript. We will go relatively deeply into this subject and, e.g., look into how the ECMAScript specification handles coercion. Each operation (function, operator, etc.) expects its parameters to have certain types.
Full article