This document discusses Javascript objects. It defines what objects are, how they are created using object literals, the Object constructor, and function constructors. It explains that objects are reference types and compares setting properties using dot notation vs bracket notation. The document also covers the Object.defineProperty method and its uses of enumerable, writable, and configurable properties. It aims to prove that almost everything in Javascript is an object, providing examples of native objects. The document discusses the 'this' keyword and how its value is determined by how a function is called rather than its definition. It compares direct invocation, invoking as an object method, and using call, apply and bind to set the context.