Foreword
Once the funding for the book completed, I observed that a lot of people were really excited to read this book series and I decided to go ahead and give it a shot—you know, just to show everyone that I do know JavaScript. Once I dug in and poured over the texts, I experienced a profound mix of learning, surprise, and even a little anger. Kyle has a knack for saying something that challenges my world view and making me think about it until I realize what he said was actually true (I’ll never admit this to him though!).
So it turned out I didn’t know JavaScript. I didn’t know why I had adopted certain patterns; I didn’t know why JavaScript behaves the way it does in certain situations, and I didn’t know much of the nuance of the languages that I assumed I did. Many were things I didn’t know I didn’t know, and I was worse off as a developer for it.
The thing I appreciate about Kyle and his work is that he is delightfully uninfluenced by the zeitgeist of the programming world around him. That isn’t to say he isn’t aware of what’s happening in the community but rather that it doesn’t sway his pursuit of the best answers to the correct questions. This often has put him at odds with the latest “best practices,” but in reality this is exactly what you need: a perspective removed from temporal influence and simply speaking to the underlying truth. That’s why this series is so good. The first edition of You Don’t Know JS is still accurate, years later! Not many things stand this test of time given the shifting sands of the JavaScript landscape.
Let’s talk a moment about this first book itself, Get Started. You may be tempted to skip it as you may think that you already have “gotten started,” but it’s worth reading this one! You’d be surprised how much depth, nuance, and oddity there is in the underlying building blocks of JavaScript, and it’s quite essential for you to grapple with these underpinnings before venturing forward into the constructs of the language. It’s exactly the sort of foundation you need, to really know JavaScript.
Because, as I found out myself, you probably don’t know JavaScript (yet).
Brian Holt
Senior Program Manager
Visual Studio Code and Node.js on Azure
Microsoft