Property names must be strings. This means that non-string objects cannot be used as keys in the object. Any non-string object, including a number, is typecasted into a string via the toString method.
Как писали выше, при создании объектного литерала имя свойства можно указывать как в кавычках так и без. Поэтому var obj = {'one': 0, one: 1, 0: 2} то же самое что:
var obj = {};
obj.one = 0;
И потом вы переписываете свойство:
obj.one = 1; (или obj[one] = 1; или obj['one'] = 1; все то же самое и все указывает на одно и то же свойство)