I know the access operator
gives a seasoned programmer the impression that he’s dealing with an O(1) lookup structure
Yes you are, this is a reasonable expectation. Engines employ all kinds of optimisations, from hidden classes over hashmaps to dynamic arrays, to meet these assumptions.
Of course, never forget that JS objects are complex beasts, and accessing a simple property might trigger a getter trap that in turn could do anything.
Yes, that’s possible.