Hola Victor, como EDAD2 = "20" es un string, al sumarlo con EDAD1 = 10 lo va a concatenar dando 1020 este valor que es un string también se concatena con EDAD3 = 12. De manera que queda 102012 . Como JS puede cambiar los tipos dinamicamente. Tomará a 102012 como un numero y por eso al dividirlo por 3 da como resultado 34004.
<script>
var EDAD1 = 10;
var EDAD2 = "20";
var EDAD3 = 12;
document.write("La media de las edades es <br>");
document.write( (EDAD1 + EDAD2 + EDAD3) / 3);
</script>`
PD: Los cambios a tipos dinamicos solo suceden si el lenguaje puede interpretar el string como un número. Por ejemplo, si EDAD2 = "L22" ,el resultado sera NaN (Not a Number) dado que no la puede convertir y mucho menos sumar con un número. Un saludo