Все языки программирования будут иметь свои собственные правила того, как пользователи могут работать с данными данного типа.

Поэтому очевидно, что если мы складываем или делим числа вместе, не должно быть никаких ошибок.

И если мы добавим строки вместе, у нас тоже не должно быть никаких проблем.

но что произойдет, если мы смешаем разные типы данных вместе?

Число превращается в строку. И неважно, в каком порядке находится фактическое число, когда вы добавляете число к строке, оно возвращает строку.

В отличие от некоторых языков, когда вы смешиваете разные типы данных вместе, JavaScript не выдает ошибку и возвращает что-то (даже если это что-то вообще не имеет смысла).