
"Eloquent JavaScript is a book providing an introduction to the JavaScript programming language and programming in general."
Edit: I just realized I didn't even mention his most famous work, Eloquent JavaScript [1]! This book is incredible. I couldn't finish it the first time, so I'm not sure if it's the best book for beginners, but I learned so much when I picked it back up a few years later that I think that every JavaScript programmer should read through it and do the exercises at least once.
I did find "Eloquent JavaScript" very helpful, it didn't just get me started on JavaScript but actually introduced that whole computer-sciencey side of programming that I hadn't encountered in my various markup and stylesheet language coding. I never finished Eloquent JavaScript though, it was like a springboard that got me into JavaScript (which is dynamic and has an interactive runtime) and as soon as I could be having a conversation with JavaScript at runtime, from there I continued learning by talking to the REPL and seeing what happened.
I would recommend:
I see there's a 2024 edition that I should probably order.
Update: Looks like the 2024 version is going to be released in Nov.
https://github.com/getify/You-Dont-Know-JS and
https://eloquentjavascript.net/ are the 2 best source for learning JS.
If you don't have time to read both, just go with https://eloquentjavascript.net/
If one needs to go further, go through http://superherojs.com/ , just ignore links that are dead.