📄️ Objects
As we know from the chapter Data types, there are eight data types in JavaScript. Seven of them are called “primitive”, because their values contain only a single thing (be it a string or a number or whatever).
📄️ Object references and copying
One of the fundamental differences of objects versus primitives is that objects are stored and copied “by reference”, whereas primitive values: strings, numbers, booleans, etc – are always copied “as a whole value”.
📄️ "this"
Objects are usually created to represent entities of the real world, like users, orders and so on:
📄️ Lexical Scope
Lexical context (also called lexical scope) refers to where variables and functions are declared in the source code, which determines what data they can access. This is a foundational concept for understanding how JavaScript resolves variable names, closures, and function behavior.
📄️ Constructor, operator "new"
Constructor function
📄️ Symbol Type
By specification, only two primitive types may serve as object property keys: