console.log
does indeed sort the properties, in some cases you can use JSON.stringify
which preserves the order, e.g.
console.log(JSON.stringify(obj, null /*replacer function */, 4 /* space */))
NB: contrary to the popular belief, js objects maintain the enumeration order, as per the OwnPropertyKeys specification (integers first, then other properties in insertion order)