Objects are the most basic structure in JavaScript. Everything is an object: functions, arrays, numbers, strings, booleans, you-name-it. And yet we have no classes. That is, despite being an Object Oriented language, JavaScript does not use a separated layer of meta-data just to define how all these objects need to be constructed.
In fact, they are just collections of key/value
pairs, that define
their own behaviour. Thus, an object with properties foo = 1
and