Здравствуйте, Privalov, Вы писали:
P>Классическое (JS):
P>P>'2'+3="23"
P>'2'-3=-1
P>
P>Может, конечно, мои взгляды на жизнь устарели, и оно так и надо...
Здесь проблема не в том, что нет типов, типы как раз есть. Здесь проблема в неявном преобразовании типов, например оператор минус явно работает с числами, и неявное преобразование строки в число, которое подгоняет типы операндов к тем, которые принимает оператор минус, и есть корень зла. То же самое с плюсом, он определён для строк как конкатенация, поэтому неявное преобразование второго операнда в строку даёт wtf-эффект.