>>Кроме того, в JavaScript не все является объектами, есть еще строки, числа и undefined, а вот null внезапно оказывается объектом.
> Это внезапно, но не вижу в этом проблемы абсолютно. Просто такая фича. "То не баг, то фича". Где-то я уже это слышал. )
На самом это все-таки проблема, если тщательно разрабатывается концептуальная модель какой-то задачи в теснй привязке к конкретному ОО-языку. А когда просто колбасится код, это конечно не проблема.
Однако снова внезапно они таки обратно являются. Просто модель слегка "поломана".
(Я об этом выше уже написал)
> Один из моментов, который очень хочется исправить в JS ― это перегруженный оператор '+'. В сочетании с динамической типизацией и нюансами в неявном приведении типов, возникают сюрпризы и необходимости приводить типы явно.
Потому как операторы там тоже выпадают из ОО-модели. И служат лишь "синтаксическим сахаром" для новичков, которые дальше арифметики обычно не вылазят.
По мне так, если нужны полноценные операторы, то нужно брать языки с выводом типов и перегрузкой. А иначе операторов максимально избегать. И пользоваться методами.
Семантика важнее синтаксиса (при проектировании).
Хотя кодировщики очень любят синтаксис, это да.