>> {} + [] 0
Итак, EmptyObject + EmptyArray оценивается как 0. (Отказ от ответственности: я не совсем понимаю, почему это так.) Хорошо, теперь я хочу присвоить этому 0 переменной! Кажется довольно легким:
>> var a = {} + []; undefined >> a "[object Object]"
Ну, может быть, не так просто. Гуглс немного... Ага! {} в этом контексте на самом деле является блоком кода, а не пустым. Поэтому lemme делает его больше похожим на кодовый блок:
>> var a = { } + []; undefined >> a "[object Object]"
... Данг. Примечание для себя: JavaScript игнорирует пробелы.
Можно ли каким-либо образом присвоить переменную {} + [] (или аналогичную), но все равно, чтобы {} + [] оценил значение 0?