Seems like this is becoming an FAQ so let me try my best
Primitives turn into objects if needed, behind the scenes. A primitive is not an object, so it doesn't have properties, but you can still do:
Now functions. Functions in JS are first-class objects. You can do:
Your function has properties and methods:
You can pass it around:
( Hmm, post getting longer, author not getting to the point )
The book is also called OOJS to highlight the fact that it focuses on the core language, not so much on DOM scripting, browser and Ajax. There's a chapter devoted to these topics but it's more of an illustration what type of objects and interactions to expect in the real world, and also to provide some practical background for the next chapter "patterns" as to why these patterns and how do they help.
The book is also OOJS, because it's focus in on OO concepts and patterns. In JS there are many ways to do inheritance, depending on what you want to do and your personal style, so this is looked into in details. Also achieving things for which JS doesn't have specific syntax, such as private properties and namespaces (packages). Special attention is paid to JS-specific topics such as the lexical scope, prototype and closures.