Osobiście polecam na początek nauki książkę JavaScript dla programistów PHP (
http://helion.pl/ksiazki/javascript-dla-programistow-php-stoyan-stefanov,javphp.htm). Wbrew tytułowi wcale nie musisz znać PHP żeby z niej korzystać, a jeśli nie znasz to przynajmniej nieco zaznajomisz się ze składnią dwóch języków :)
To, że jest to książka stara według mnie wcale jej nie skreśla. W książce omówiono wiele charakterystycznych spraw dla JS jak hoisting, IIFE itp. Gdy poznasz ten zakres wiedzy (czyli ES3/ES5) to polecam przekonać się do serii Tajniki JS. Książki te wymagają co prawda nieco większej wiedzy z JS ale dobrze omawiają wybrane zagadnienia. Nie szukaj na siłę książek o ES6. Fakt, że w ES6 wprowadzono wiele nowości, ale jeśli dopiero zaczynasz to lepiej dobrze opanować podstawy i stopniowo rozszerzać wiedzę. Bez ES6 też dasz radę zrobić wiele aplikacji i stronek więc nie patrz na to w taki sposób, że tylko najnowsze książki są dobre. Co więcej... szczerze mówiąc często mam wrażenie, że wiele starszych książek jest lepiej napisanych niż nie jedna nowość helionowska... ale to kwestia gustu i subiektywnej oceny.
Ponad to warto korzystać z blogów i kursów online. Osobiście szczerze polecam Ci platformę CodeWars. Nie uczy ona CSS, HTML itp. lecz czystego JS, nawet bez DOM/BOM. Zalety? Możesz nauczyć się praktycznego wykorzystania wielu metod dostępnych w JS i logicznego myślenia, a ponad to gdy rozwiążesz jakieś zadanie to masz dostęp do rozwiązań innych użytkowników, co wg mnie jest największym atutem CodeWars.
Pozdrawiam, Tomek