Leading Programmers Explain How They Think

In the past few years, JavaScript has rapidly expanded beyond the browser and today we use it for all kind of projects: from powerful web applications to web servers to making desktop games run in your browser. Beautiful JavaScript offer case studies that reveal unusual, carefully crafted solutions found by top JavaScript developers. You'll be able to look take a look at the whole JavaScript ecosystem through the eyes of top experts and see how they approach their most interesting problems.

After reading this book, you'll have a better grasp on how to approach your daily programming challenges and how to pick the best solution for the problem.

Anton Kovalyov

Anton Kovalyov is a Software Engineer at Disqus, and has guided development on the Disqus commenting widget since the company's earliest days. He maintains and contributes to a number of open-source JavaScript projects, including JSHint, a code quality tool, and Hiro, a testing framework for third-party JavaScript applications.

  • Chapter 1: Beautiful Mixins

    1. Classical Inheritance

    2. Prototypes

    3. Mixins

    4. Wrapup

  • Chapter 2: eval and Domain-Specific Languages

    1. What About “eval Is Evil”?

    2. History and Interface

    3. Performance

    4. Common Uses

    5. A Template Compiler

    6. Speed

    7. Mixing Languages

    8. Dependencies and Scopes

    9. Debugging Generated Code

    10. Binary Pattern Matches

    11. Closing Thoughts

  • Chapter 3: How to Draw a Bunny

    1. What Is a Rabbit?

    2. What Is a Bunny?

    3. What Does This Have to Do with JavaScript?

    4. With So Much Variation, Which Way Is Correct?

    5. How Does This Affect the Classroom?

    6. Is This Art? And Why Does That Matter?

    7. What Does This Look Like?

    8. What Did I Just Read?

  • Chapter 4: Too Much Rope, or JavaScript for Teams

    1. Know Your Audience

    2. Stupid Good

    3. Keep It Classy

    4. Style Rules

    5. Evolution of Code

    6. Conclusion

  • Chapter 5: Hacking JavaScript Constructors for Model Harmony

    1. Doppelgangers

    2. Miniature Models of Factories

    3. Constructor Identity Crisis

    4. Making It Scale

    5. Conclusion

  • Chapter 6: One World, One Language

    1. An Imperative, Dynamic Proposal

    2. The Paradox of Choice

    3. Globalcommunicationscript

  • Chapter 7: Math Expression Parser and Evaluator

    1. Lexical Analysis and Tokens

    2. Syntax Parser and Syntax Tree

    3. Tree Walker and Expression Evaluator

    4. Final Words

  • Chapter 8: Evolution

    1. Backbone

    2. New Possibilities

  • Chapter 9: Error Handling

    1. Assume Your Code Will Fail

    2. Handling Errors

    3. Summary

  • Chapter 10: The Node.js Event Loop

    1. Event-Driven Programming

    2. Asynchronous, Nonblocking I/O

    3. Concurrency

    4. Adding Tasks to the Event Loop

  • Chapter 11: JavaScript Is…

    1. JavaScript Is Dynamic

    2. JavaScript Can Be Static

    3. JavaScript Is Functional

    4. JavaScript Does Everything

  • Chapter 12: Coding Beyond Logic

    1. The Basement

    2. Quine’s Paradox

    3. The Conjecture

    4. Peer Review

  • Chapter 13: JavaScript Is Cutieful

    1. All This Loose Beauty

    2. The Absurdity of Dalí

  • Chapter 14: Functional JavaScript

    1. Functional Programming

    2. Functional JavaScript

    3. Objects

    4. Now What?

  • Chapter 15: Progress