- 1
https://s1.postimg.org/9ay7hrf7fj/js-love-forever.png
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
https://s1.postimg.org/9ay7hrf7fj/js-love-forever.png
heart, heart, JavaScript!
Оказывается, интерпретатор в данном месте ждёт не ассоциативный массив, а операторные скобки, для которых в JS (о, чудо!) используются одинаковые символы.
Контекстозависимая грамматика — зло.
https://imgur.com/a/e04wV
p. s.: В лисе, как следствие, тоже можно всё взять в скобки для достижения желаемого эффекта.
Так что ещё от версии зависит.
Странно, что в эвале и без эвала разные результаты.
Есть же Unicode: ⦅x:1⦆, ⧼x:1⧽, ⟦x:1⟧, 「x:1」. Или переходите на "PHP", там можно писать понятно: array("x"=>1).
Ну как тут не вспомнить про "&" в плюсах?..
"<" и ">" в крестах — это меньше/больше или скобки крестошаблонов?
">>" в крестах — это сдвиг или подряд две скобки крестошаблона?
() — это скобки в формуле, аргументы функции, указатель на функцию, инициализация значения?
А ещё в Сишарпике конструктор не имеет право передать управление вызывающему, не установив значения всех нестатических полей.
Вот любят скриптоёбы делать по две вещи через одно место... В данном случае заставили консоль исполнять и expressions и statements.
А коду, который пишут в js файлах, эта проблема не мешает - если кто-то напишет {"x": 2}, то он его или в функцию передаст или в переменную положит.
• Фуррифокс и IE сообщают, что не хватает точки с запятой. Однако, где именно, не говорят.
• Хром и Сафари говорят, что двоеточие не ожидается.
• Dragonfly (помним, скорбим) сообщает, что Опера ожидает точку с запятой в том месте, где мы поставили двоеточие.
1
Описывать на ES эти аппаратушни или создавать аппаратушни, делающие что-то эквивалентное коду на ES?
Vivaldi 1.12.955.42