Understanding Javascript Non Primitive Data Types