Hola Roxana, no entiendo muy bien tu duda pero lanzo lo que entiendo y ya tu me diras si esta bien o mal. Por el ejemplo que colocas se puede decir que no es una suma, es una concatenacion de cadenas, ya que tiene "18" + "2" entonces esto como resultado dsria "182" ya que son de tipo String, si fuese una suma seria 18+2 y daría lo de siempre 20.
si te refieres a lo de document.write() que primero resuelve la operación dentro de los corchetes y despues imprime, se puede decir que es lo normal ya que prioriza la operacion que hay dentro de el para que despues de una respuesta en base a eso, esto se debe al orden que tienen las funciones es decir, es como si leyeras un libro, primero entiendes el primer renglon, despues el segundo, el tercero y asi sucesivamente, es lo mismo con la programacion que primero lee una linea, despues otra y asi, todo eso en el orden que esten escritas, es por ello que funciona de esa forma. espero haberte ayudado, sino es asi estare al pendiente de la pregunta, un saludo