No código:
<meta charset="UTF-8">
<script>
var IDADE1 = 10;
var IDADE2 = "20";
var IDADE3 = 12;
document.write("A média das idades é <br>");
document.write( (IDADE1 + IDADE2 + IDADE3) / 3);
</script>
Temos o resultado:
A média das idades é 34004
==========================================================
Minha dúvida seria em como se chegou ao resultado "34004".
Pelo que vi, uma das variáveis é uma string (var IDADE2 = "20";), desse modo, ao meu ver, o programa concatenaria as variáveis do seguinte modo:
10 + "20" + 12 = "102012"
Mas não foi isso que aconteceu, pois o Javascript não gerou uma string como resultado desse cálculo e nem poderia, já que não é possível dividir "102012" (uma string), por 3 (ao dividir 102012 por 3, temos como resultado 34004).
Desse modo, podemos concluir que a string atribuída "102012" foi convertida para número pelo Javascript? O Javascript sempre tenta converter o resultado para algo mais plausível em situações parecidas?