The Principles of Object-Oriented JavaScript

The Principles of Object-Oriented JavaScript
By Nicholas C. Zakas

List Price: $24.95
Price: $16.35 Details

Availability: Usually ships in 24 hours
Ships from and sold by

97 new or used available from $10.72

Average customer review:
(127 customer reviews)

Product Description

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. You'll learn:
–The difference between primitive and reference values
–What makes JavaScript functions so unique
–The various ways to create objects
–How to define your own constructors
–How to work with and understand prototypes
–Inheritance patterns for types and objects

The Principles of Object-Oriented JavaScript will leave even experienced developers with a deeper understanding of JavaScript. Unlock the secrets behind how objects work in JavaScript so you can write clearer, more flexible, and more efficient code.

Product Details

  • Amazon Sales Rank: #56562 in Books
  • Brand: No Starch Press
  • Published on: 2014-02-14
  • Released on: 2014-02-14
  • Original language: English
  • Number of items: 1
  • Dimensions: 9.25" h x .32" w x 7.00" l, .57 pounds
  • Binding: Paperback
  • 120 pages


  • No Starch Press

Editorial Reviews

About the Author
Nicholas C. Zakas is a software engineer at Box and is known for writing on and speaking about the latest in JavaScript best practices. He honed his experience during his five years at Yahoo!, where he was principal front­end engineer for the Yahoo! home page. He is the author of several books, including Maintainable JavaScript (O’Reilly Media, 2012) and Professional JavaScript for Web Developers (Wrox, 2012).

Customer Reviews

Most helpful customer reviews

2 of 2 people found the following review helpful.
5Add This Book to Your Collection
By Student_of_Life
Awesome book on how objects work in JavaScript. This book really filled in some knowledge gaps, such as you can lock down objects to create some privacy using either preventExtensions() method, seal() method, or freeze() method.

You learn about object attributes such as [[Enumerable]] , [[Value]], [[Writable]], [[Configurable]] and what they do. The book goes over constructors, prototypes, and inheritance showing you how they all work. One of my favorite parts of the book is how hasOwnProperty is I get it! I do like how the book starts off going over types and how to property use typeof and instanceof.

This is not a book for complete beginners, but I think works as a wonderful intermediate book about JavaScript objects.

3 of 3 people found the following review helpful.
4A solid book
By Dmitry Novoselov
In general the book is very good, but, unfortunatelly, it does have some imperfections to it. For example, the constructor definition is quite vague: "A constructor is simply a function that uses "new" to create an object - any object can be a constructor". It is not strict enough and it doesn't really help. For an experienced developer, it restates the obvious in an disturbingly careless manner. For a developer new to JavaScript, it is most likely useless and confusing: a function _uses_ "new"? _What does this mean_? I've always thought it's me, a developer, who _uses_ "new" to make a constructor call of a function.

There is no way to correctly explain what the JavaScript constructor is without elaborating on the notion of _receiver_, how it is bound to _a function call_, and how a "constructor function" is _logically_ different from other functions even though (and that's what the author is apparently talking about) there's _no_ _technical_ difference between them.

Summarizing, the book is really good. For the most part is very thorough and solid. Definitely worth reading. But because of the things like the one above I am sorry to give it only four stars. Also, if you are deciding what books to read on JavaScript, whatever other books you choose, there is _the_ book on the matter: Effective JavaScript by David Herman. My personal belief, there's no other book on the language, that explains all the vital subtleties of it in such a clear and concise way.

0 of 0 people found the following review helpful.
5Concise, highly readable and ultimately essential.
By Kam
First of all I'm from a heavy C++/Java background so I'm well versed in strongly typed languages, classes, inheritance and all that jazz. However, in my initial foray into JavaScript I found it so odd that I brought a few books to try and clear up some nagging questions as to why it behaved the way it did. 'HTML5, Javascript and JQuery' gets to the point quickly but it lacks detail on what's going on behind the scenes when it comes to JavaScript probably because it's not the book's only focus. 'A Smarter way to Learn JavaScript' has a lot of beginner fluff that isn't anything you wouldn't know already. In addition the exercises are tedious. This book hits the sweet spot for me. Even though it's a short book, no sentence is wasted. I managed to polish it off in just 2 days. Every chapter and every section is highly readable and more importantly useful in teaching the language from an already experienced C++ programmer's perspective. Love the sample code too which never gets too complex or too long to comprehend easily. This is definitely a book I will refer to again and again even though it only covers ECMAScript 5. I believe the author has another book dedicated to ECMAScript 6. Bravo to Zakas for writing something so concise and readable!

See all 127 customer reviews...

Connect with defaultLogic
What We've Done
Led Digital Marketing Efforts of Top 500 e-Retailers.
Worked with Top Brands at Leading Agencies.
Successfully Managed Over $50 million in Digital Ad Spend.
Developed Strategies and Processes that Enabled Brands to Grow During an Economic Downturn.
Taught Advanced Internet Marketing Strategies at the graduate level.

Manage research, learning and skills at defaultLogic. Create an account using LinkedIn or facebook to manage and organize your IT knowledge. defaultLogic works like a shopping cart for information -- helping you to save, discuss and share.

  Contact Us