Objects are dynamic collections of properties, with a “hidden” property to the object’s prototype.

A property has a key and a value.

Property key

The property key is a unique string.

There are two ways to access properties: dot notation and bracket notation. When the dot notation is used, the property key must be a valid identifier.

let obj = {  message : "A message"}
obj.message //"A message"obj["message"] //"A message"

Accessing a property that doesn’t exist will not throw an error, but will return undefined .

obj.otherProperty //undefined

JavaScript treats primitives, objects, and functions like objects.

Objects are dynamic in nature and can be used as maps.

Objects inherit from other objects. Constructor functions and class are sugar syntax for creating objects that inherit from other prototype objects.

Object.create() can be used for single inheritance and Object.assign() for multiple inheritance.

Factory functions can build encapsulated objects.

Discover Functional JavaScript was named one of the best new Functional Programming ebooks by BookAuthority!

For more on applying functional techniques to React take a look at Functional React.

Learn how to apply the Principles of Design Patterns.

You can find me on Medium and Twitter.