Как поясняется в обновлении 3 этого ответа , это обозначение: var hash = {}; hash[X] на самом деле не хэширует объект X; на самом деле он просто конвертируется Xв строку (через, .toString()если это объект, или некоторые другие встроенные преобразования для различных типов примитивов), а затем...