This book owes a great deal to JavaScript’s inventor, Brendan Eich. I’m deeply grateful to Brendan for inviting me to participate in the standardization of JavaScript and for his mentorship and support in my career at Mozilla.
Much of the material in this book is inspired and informed by excellent blog posts and online articles. I have learned a lot from posts by Ben “cowboy” Alman, Erik Arvidsson, Mathias Bynens, Tim “creationix” Caswell, Michaeljohn “inimino” Clement, Angus Croll, Andrew Dupont, Ariya Hidayat, Steven Levithan, Pan Thomakos, Jeff Walden, and Juriy “kangax” Zaytsev. Of course, the ultimate resource for this book is the ECMAScript specification, which has been tirelessly edited and updated since Edition 5 by Allen Wirfs-Brock. And the Mozilla Developer Network continues to be one of the most impressive and high-quality online resources for JavaScript APIs and features.
I’ve had many advisors during the course of planning and writing this book. John Resig gave me useful advice on authorship before I began. Blake Kaplan and Patrick Walton helped me collect my thoughts and plan out the organization of the book in the early stages. During the course of the writing, I’ve gotten great advice from Brian Anderson, Norbert Lindenberg, Sam Tobin-Hochstadt, Rick Waldron, and Patrick Walton.
The staff at Pearson has been a pleasure to work with. Olivia Basegio, Audrey Doyle, Trina MacDonald, Scott Meyers, and Chris Zahn have been attentive to my questions, patient with my delays, and accommodating of my requests. I couldn’t imagine a more pleasant first experience with authorship. And I am absolutely honored to contribute to this wonderful series. I’ve been a fan of Effective C++ since long before I ever suspected I might have the privilege of writing an Effective book myself.
I couldn’t believe my good fortune at finding such a dream team of technical editors. I’m honored that Erik Arvidsson, Rebecca Murphey, Rick Waldron, and Richard Worth agreed to edit this book, and they’ve provided me with invaluable critiques and suggestions. On more than one occasion they saved me from some truly embarrassing errors.
Writing a book was more intimidating than I expected. I might have lost my nerve if it weren’t for the support of friends and colleagues. I don’t know if they knew it at the time, but Andy Denmark, Rick Waldron, and Travis Winfrey gave me the encouragement I needed in moments of doubt.
The vast majority of this book was written at the fabulous Java Beach Café in San Francisco’s beautiful Parkside neighborhood. The staff members all know my name and know what I’m going to order before I order it. I am grateful to them for providing a cozy place to work and keeping me fed and caffeinated.
My fuzzy little feline friend Schmoopy tried his best to contribute to this book. At least, he kept hopping onto my lap and sitting in front of the screen. (This might have something to do with the warmth of the laptop.) Schmoopy has been my loyal buddy since 2006, and I can’t imagine my life without the little furball.
My entire family has been supportive and excited about this project from beginning to end. Sadly, my grandparents Frank and Miriam Slamar both passed away before I could share the final product with them. But they were excited and proud for me, and there’s a little piece of my boyhood experiences writing BASIC programs with Frank in this book.
Finally, I owe the love of my life, Lisa Silveria, more than could ever be repaid in an introduction.