And anti-answer: consider learning JavaScript from something other than a book. The publication cycle for conventional box is relatively long, relative to the pace of technology evolution. By the time the author writes it, it's published, and you read it, the information can be dated, sometimes extremely so. There are gobs of online resources, and the best resource is rarely mentioned: reading other peoples code. Onc…
That being said, there are some pretty fundamental abstract concepts behind all forms of programming that have stuck around for a long time: those old comp sci course materials. I'd recommend turning to books for some of that content, as picking up some knowledge there will support you no matter what programming language you try to learn.