Сам спросил, сам отвечаю.
Если фигурные скобки идут не в составе выражения, то JS считает его просто блоком. А т.к. он пустой, то он просто игнорируется. И в итоге остается только +[], что значит преобразование массива в число.
Владимир Грабко: js нормальный язык, а у нестрогой типизации есть свои плюсы
И не бывает плохих языков, бывают кривые программисты, с NaN на весах нейронов в их мозге ))
Дмитрий Беляев: яп становится плохим когда кодовая база проектов с ним похожа на непонятную фигню. Не говорите мне о том что есть норм. Я таких встречал всего 2 раза
Александр Аксентьев: двойной оператор + только в случае если оба операнда числа (приводимы к числу (имеют метод valueOf)) работает как сложение, во всех остальных случаях - это конкатенация строк
Любая арифметическая операция с NaN даст в результати NaN