How to choose a book for learning JavaScript?

I am now studying Js on learn.javascript. And everything seems to be fine, but there are some gaps in materials, and I know what you need to learn the language according to several sources. Early studied and for MDN, but I somehow did not like. Want as a second source to use the book. Yes, I know that there is outdated information, but as an additional source, I think it will be good. But still would like a book with more modern information. Can you please tell me which book to take
March 19th 20 at 08:46
9 answers
March 19th 20 at 08:48
Solution
Give advice from myself as the newbie from the world of JS.
Can't recommend the book, but rather the solution of mathematical problems. :)
Direct take any issue, from simple to complex and can be solved, preferably by different methods:
Sort, factorials, square, matrix, whatever, in order of complexity.

Ie, you first have to force yourself to think in the language (there is a very good explanation: you know a foreign language when you think in that language spontaneously) and how to write more, to pay attention to are written and not look for "where there { is closed".
To take good and interesting solutions other people and to understand them, to learn to read the code and understand what it means.

And most importantly in any case do not read books like "build your responsive website, how to create an online store" and other garbage from the world of computer literature. Coding required !== knowledge of individual instruments of one specific language.

Set the task: I want to make all the text on the page after the "." was divided into paragraphs. Trying to fix it myself, Google, delve into the judgment of others (if not himself), trying to change the task and decide. Solved the problem - go on, put a new one.
This process will give a lot of understanding in the beginning, and then you can already Flanagans to read, to correct knowledge in the right direction.

It's also nice to find a mentor with experience, which will fix the bugs (because this is the main problem of the independent learning - you can learn to do not only the right but also wrong).

Oh, and more math, really. The solution of mathematical problems caused by strict logic, it helps a lot! Recall (for example) how to find the area of a triangle, first on paper, then write it in the IDE.
It's a long way to go, but as for me, as it is more thorough.
For solving problems it is convenient to use codewars.com if you know English. If with English of problems, then you can start with https://github.com/mbelsky/js-problems - johnathon_Ro commented on March 19th 20 at 08:51
A very interesting opinion on the subject of problems, as the mentor will take note.
Thanks =) - holly_Schamberg commented on March 19th 20 at 08:54
@johnathon_Ro, thanks :) - Leonora_Krajcik commented on March 19th 20 at 08:57
March 19th 20 at 08:50
Solution
There is a free series of books on the issue tracker, You don't know js, it's almost definitive guide to JS. It's in English, don't try to find a translation, it is, but sloppy and not finished.
@theuser,
On github to read somehow , better epub to mobile and in the metro.

On request in Google "You dont know js epub" you can find a lot of things, but unfortunately, there are there old versions of the books for 2017. So you need to gather yourself, for example via Pandoc.
cellphones in the subway.

I believe that we should not read such books in the subway, if there are no JS interpreter. The book contains many examples that should at the same time trying to gain the most and run. The metro also need to read more General literature, for example "the pragmatic programmer", any tips, etc. - amina_Champlin98 commented on March 19th 20 at 08:53
March 19th 20 at 08:52
Solution
Fresh Flanagan (6th edition).
And a serious base, and not outdated.
What about this book "Learn JavaScript. Guide to creating modern web sites" by Ethan brown? - jabari.Schmitt commented on March 19th 20 at 08:55
@jabari.Schmitt, I can't say anything, didn't read. But you need not autosky on site - this stuff you will find on the Internet - namely the base language, good analysis of his nuances and the explanation of why they work that way. The Flanagan is there, and given the material well enough to get the book evaluated and reprinted for the sixth time. - niko_Harv commented on March 19th 20 at 08:58
@jabari.Schmitt, read. Flanagan is the same, only more concise. - Clovis_Heidenreich commented on March 19th 20 at 09:01
Ahaha, what fresh? Do not confuse people. If you really want to epub, you can find the collected documentation in ecma epab, there is even the drafts are. - dayana.Schmeler33 commented on March 19th 20 at 09:04
@dayana.Schmeler33,
Ahaha, what fresh?

The most that neither is the freshest. There is no outdated information, all information is relevant. Book ES5, and ES5 is still the most relevant. ES6+ to finish my studies already on articles on the Internet, there is not such a large amount of information. The Rhino also explains in detail the prototype inheritance model, the most important thing in JS with closures, and while it will not normally learn, can not go to ES6 classes. - amina_Champlin98 commented on March 19th 20 at 09:07
March 19th 20 at 08:54
Solution
Practice makes perfect. learn.javascript.ru — a good start for language learning. But JavaScript can be programmed differently. If you want a book, I would advise you to read Functional programming in JavaScript
looks interesting, but in the pdf it exists, or only on paper? - luis commented on March 19th 20 at 08:57
March 19th 20 at 08:56
Solution
Highly recommend secrets of the JavaScript ninja John Rezig. Second edition. Not outdated, but rather addresses both the fundamentals and modern practices. Covers all aspects of the language
I'm honored that this book is not for beginners. What do you think? Is it really so? - jabari.Schmitt commented on March 19th 20 at 08:59
Read Flangan, Expressive ZHS and the latest JS Ninja. All books are plus or minus similar, except for the analysis of certain topics, in which you must travel during the practice, but not with books. In the books, just an explanation. I would not began to divide for beginners and not for beginners, read everything, even if not everything will be clear, some part will settle in your head and next time will not have to learn everything from scratch!
Flanagan is more like a guide, just poke in the examples. The best way to understand ZHS - need to write it. - beryl.Hegma commented on March 19th 20 at 09:02
@jabari.Schmitt, Nothing prevents you to read =)

Read it about 4 years ago. Much was difficult and unclear.
Now I read not finding anything new, except for regexps and even a pair of nuances, but nevertheless.

You can take the unit if it gives you hard - skip, go to next if, each time harder put down the book and go through the 1-2-3 month programming.
Or Vice versa, split or teeth granite until you understand a single block(paragraph, Chapter, part) of the book, and move on.

In principle, in my opinion, by self-study there are no rules of reading professional literature. - holly_Schamberg commented on March 19th 20 at 09:05
March 19th 20 at 08:58
Solution
March 19th 20 at 09:00
March 19th 20 at 09:02
And everything seems to be fine, but there are some gaps in the materials...


and it is possible examples of such spaces?
Well, for example in subjects where considered circuit. There use functions wrapped in extra parentheses5c9b5d6f3dbe3975193880.jpeg - jabari.Schmitt commented on March 19th 20 at 09:05
March 19th 20 at 09:04
From reading the book from cover to cover to no avail. You need as early as possible start to solve simple practical problems. In the course you will have questions. The search for answers where possible. The same YDKJS clearly not for the average developer created. Books are for more experienced people. And patterns, architecture, etc.
In General, we advise not to overestimate passive learning (watching videos, reading books etc). Combination with the practice much more effective.
If you have a small funds and technical/mathematical background - look at hexlet.io

Find more questions by tags JavaScript