The Principles of Object-Oriented JavaScript
Nicholas C. Zakas
No Starch Press
If you've used a more traditional object-oriented language, such as C++ or Java, JavaScript probably doesn't seem object-oriented at all. It has no concept of classes, and you don't even need to define any objects in order to write code. But don't be fooled - JavaScript is an incredibly powerful and expressive object-oriented language that puts many design decisions right into your hands.  In The Principles of Object-Oriented JavaScript, Nicholas C. Zakas thoroughly explores JavaScript's object-oriented nature, revealing the language's unique implementation of inheritance and other key characteristics.