Когда ты думаешь, что хуже быть не может, javascript выдает это / javascript :: it-юмор :: js :: geek (Прикольные гаджеты. Научный, инженерный и айтишный юмор)
Нет, пиздец это когда понимаешь что в legacy коде вот на таком построена тонна логики и тебе надо заменить все такие странные вызовы на нормальные либы :)
Ну на самом деле, как по мне, JS самый крутой язык (на уровне с python), позволяющий посать что угодно, быстро менять объекты и функции на лету и иметь огромную управляемость процесса выполнения кода в вебе. И за последние 3 года разработки на нём я наткнулся баги в своем коде из-за похожей херни всего 2 раза. Так что не думаю что это так страшно. Те же указатели на массивы указателей в С++ и метапрограммирование в сях меня куда больше вымораживает.
Метапрограммирование и шаблонная магия - это в сторону как раз-таки С++, а не сей.
А указатели на массивы указателей - ближе как раз-таки к сям. В плюсах есть ссылки, (и умные указатели). Вообще рекомендуется по-минимуму использовать сырые указатели. Хотя правила вывода типо для ссылок, всякие l-, r-, x- итп -value тот еще пиздец. Но он придуман не просто так, чтобы ухудшить жизнь разработчика, а наоборот.
В JS метод Array.sort() строки сортирует лексикографически, а всё, что не строки - приводит к строкам и сортирует лексикографически (это интуитивно ожидаемая сортировка строк, напр. ["афанасий", "дупло", "дуплоёб", "карасик"]). По этой же причине порядок будет [1, 12, 234, 31, 7]. Это очень тупо и почти никогда не нужно, но это легаси.
в украинском, беларусском и многих европейских языках приходится сортировать по своему "алфавиту", а не по юникоду: і, ї, є, ґ располагаются после буквы я, как и всякие умляуты...
вот пробелы тут совершенно не причём. JS интерпретатор считает строками только то, что в кавычках, одинарных кавычках или ещё там одних спецкавычках. А это числа, что легко проверяется функцией typeof: typeof [6, -2, 2, -7][2] => "number"
javascript раз| javascript Разнорабочий
javascript Разработчик
javascript Раздача листовок
javascript Разнорабочий вахта
javascript Развитие бизнеса
javascript Развитие сети
* javascript Развитие розничной сети
javascript Раздатчик листовок
javascript Разнорабочий на стройку
javascript Раз
https://www.destroyallsoftware.com/talks/wat
Который, замечу, не конвертирует типы на ровном месте.
Но да, на фоне других проблем (включая проблемы других языков), пожалуй, мелочи.
А указатели на массивы указателей - ближе как раз-таки к сям. В плюсах есть ссылки, (и умные указатели). Вообще рекомендуется по-минимуму использовать сырые указатели. Хотя правила вывода типо для ссылок, всякие l-, r-, x- итп -value тот еще пиздец. Но он придуман не просто так, чтобы ухудшить жизнь разработчика, а наоборот.
[6, -2, 2, -7].sort((a,b) => a - b);