Urgent! Book Advice!

Hi everybody,
I need a book advice about JavaScript.
I have been working on JavaScript at FreeCodeCamp but some sections explanations are not enough clear for me.I have been watching some hint videos, also doing different exercises. But unfortunately I dont feel myself relax to say that " Yes.I am understanding them clearly"
So maybe finding a book helps me for understanding Java as much as I want to do.
Thanks for advices.
Happy weekends :slight_smile:

Hello there,

Before diving into a book, I recommend you to go through MDN guides. They helped me a lot not only with JS, but also with HTML and CSS. FCC is a great starter in my opinion and the interactive lessons are great, but for me everything started to click when I mixed it with the more theorical approach of MDN.

If you still want to go with the book route, I’ve heard great things about ‘You Don’t Know JavaScript’ and ‘Eloquent JavaScript’ but I can’t personally vouch for them (yet).


Hello Stahlone,
Thanks for advices. MDN helps me some part of JS. and I suggest to you,If you want to read,Eloquent JavaScript. I read it last week and the main idea of the book helped me to purify the details of my java exercises.Now,I am thinking simple.But sometimes,I really dont understand “Why did we solve like this?”
for example; I thought about 50 minutes for solve “Basic Java Script; Stand İn Line” section.Finally I did it With the help of an article in github.But still I am thinking about solution.
And I found “You dont know JS” in Amazon.
Thank you so much :slight_smile:

1 Like

Glad I could help.

While you can buy ‘YDKJS’, keep in mind the online version is free. I’m probably going to read one of those books soon as well, but the thing I’m worried most right now is about learning design patterns to be honest. If you happend to stumble upon any good book please let me know.

Have a good day!

1 Like

I’m currently reading Eloquent Javascript while I prep for interviews. I looked at other sources (You Don’t Know Javascript) and found that for me Eloquent Javascript was the perfect balance of going deeper into the language to build a better foundation of knowledge while also being brief enough so that I can cover a lot of ground relatively quickly (it is still dense and will take time).

In addition to that, I recommend Grokking Algorithms. Same thing - informative but to the point and practical.

1 Like

You can read Eloquent Javascript online for free as well. https://eloquentjavascript.net/. It is better for a beginner I think compared to YDKJS.

1 Like

Thanks for all advices and one more question.
@bloo0178 @jermur @Stahlone, what do you think about this book?
I know,it looks like really simple,but I think ıt can explain the points I couldnt understand.

I m really appreciate to you taking time for my question.

Are you looking for resources on JavaScript or Java? My recommendation of Eloquent JavaScript was focused on JavaScript. Grokking Algorithms is language agnostic (examples are in Python, but the concepts are universal).

1 Like

So first of all, Java and JavaScript are different languages, right? They have some similarities because they both descend from C, but they are very different languages. I’m not saying learning Java is a bad idea, just that if you are still learning JavaScript, it may not be the best idea.

I agree with a lot of the suggestions here. YDKJS, Eloquent JS, etc. I would also throw in Cracking the Coding Interview. It deals with a lot of ideas about interviewing, but the meat of it is algorithm challenges. I believe the solutions are in Java, but you can probably tell what’s going on and there are people that have published JS solutions online if you look.

There are also plenty of web sites with algorithm challenges, like Code Wars, etc. Keep in mind that some of these have poorly written challenges and people with attitudes there. But they can be good practice and interviews often use these types of problems for interview, sometimes even using sites like these.

Another thing I would suggest is to start building crap. I always say, “you can’t learn to swim without swallowing a little pool water”. My point is that you could read all the books you want and all the youtube videos but the real learning is when you get in the pool and struggle. It’s the same for web dev. Books and tutorials aren’t the same as coding. They help you get ready but the real learning is when you jump in the pool and struggle. Just start building things and you’ll run into problems and have to research things. You will make mistakes and learn from them. But once you have a basic knowledge, I think this is important. Keep reading books and doing tutorials, but do it in parallel with actually building things.

1 Like

yes i am currently working on javascript.I thought that getting a Java base would make me move faster in JavaScript.I think it will lead me to concentrate more on what I do, not to be afraid of making mistakes and to read the Eloquent JavaScript again.Thank you so much :slight_smile:

@kevinSmith thanks for good explanations and advices.Actually, being unable to complete the JavaScript directives, which are explained simply, makes me pessimistic.
I made many mistakes when doing my html / css projects, I learned how to do better or better when I fix them
but my javascript learning process doesn’t move as fast as html / css, which makes me think there’s something missing.
but I guess making a mistake is a process that should be.
I will consider all your suggestions.
thank you so much.

Before purchasing a book, you might want to try out ‘Javascript Handbook’. It’s free and available in pdf format at flaviocopes.com. It’s covers all of the concepts used in the javascript section of fcc curriculum. The author also has many posts on fcc’s medium blog covering some of the more complicated concepts in detail.

1 Like

My copy of Dustin Diaz’ “Pro Javascript Design Patterns” is, while a few years old, one I keep going back to. My personal favorite.

1 Like

Actually, being unable to complete the JavaScript directives, which are explained simply, makes me pessimistic.

Join the club. Seriously, this is hard stuff. Everyone struggles with it. If you can’t do it, go back and do it again. I call it “job security” - if this were easy it would pay minimum wage. Not a lot of people can do what we do because it is hard to learn and takes a long time. That’s why it pays well.

…but my javascript learning process doesn’t move as fast as html / css, which makes me think there’s something missing.

Yes, something is missing. FCC is not meant to be comprehensive. You are expected to do side research about things that confuse you. That is an important skill. As a professional programmer, on a good day, I only have to google things or consult the docs 20 times a day. This is an important skill. You would learn less if FCC spoon fed you everything.

but I guess making a mistake is a process that should be.

Yes, yes, yes! Make mistakes. Screw things up. Throw it away and start again. That is how you learn this stuff. The first lessons are easy enough to absorb right away. But the more advanced the concept, the harder it is going to be to absorb. Just keep doing it. Keep making mistakes. Slowly you’ll make fewer mistakes. You’ll always have some mistakes, but as you get better you’ll have fewer and be better at spotting them.

Just learn, learn, learn and build, build, build. Read books. Do problems. Watch youtube videos. Listen to podcasts. Read blog posts. Do algorithm sites. And build things. Whenever I had a job interview, the first thing they wanted to see was what I’d built.


Just to add to Kevin’s comments. I had a bit of formal education (MIS degree which incorporated CS curriculum at University of MN) and professional experience with coding (I’ve worked in Global IT organizations and as a Solutions Architect for a custom software dev company throughout the past 10 years). I’ve decided I wanted to divert my career path more towards development, so I jumped in head-first this past summer to iron out my old skills and learn new skills that are relevant. I started FCC in June and got my certifications completed around October - putting in probably 6-8 hours a day usually 6 days a week.

Once I completed my certifications, I asked myself if I could build [insert project idea] from scratch, in my own environment locally, and deploy it. The answer was a resounding NO. FCC gives you a framework at the end of which - in my opinion - you will have a decent foundational knowledge to understand what it is you need to go after independently and learn on your own or dig into further. Since I’ve completed the certifications, I’ve built, rebuilt, and re-rebuilt many different projects using whatever technologies were relevant and interested me - hitting constant issues, working through, digging through documentation, looking at examples, reading Stack Overflow, etc… On this portion of my learning I’ve spent probably the better part of 8-10 hours each day on average 6-7 days per week. Additionally, I’ve been reading other books (Eloquent JS and Grokking Algorithms being 2 examples).

My point is, after all this time, I feel I am definitely closer to being ready to jump into the job pool with my skills, but there is still even a little more prep I want to do over the next 1-2 months. And even then, I fully expect to dedicate time daily and weekly for as long as I want somebody to pay me for my skills as a developer to stay relevant, useful, and on top of the latest trends, best practices, and technologies.

As Kevin said, it’s a lot of work. There isn’t a quick path that’s going to set you up with a solid foundation that you can rely on. It just takes time and practice, practice, practice. That being said, I’ve loved (almost) every minute of it and the feelings of learning something new and seeing that knowledge being applied to something that works, or getting through a tough issue after slamming your head against the wall for hours or days - that feeling is truly indescribable and I wouldn’t trade it for anything.


I think,rather than seeing book, watch tutorial first. why because you are new in programming you don’t know how it works and how to write code bunch with step by step, I’m afraid that you won’t frustrated by book. If you have strong desire, you could follow. but my suggestion is that you should need to watch some motion tutorials, you could find on youtube,


Follow Programming with mosh on youtube Or whoever.

If I have made some mistake in my writing, I would be happy, If you corrected it.

1 Like

Thank you,thank you.I m really appreciate to you.Today,I was under a great stress because of my JS process.Originally,I m a chemist but I wanted to start coding for a long time, I had the opportunity to leave my job.

At first; Everything was incredibly foreign to me.
then I stubbornly continued and when I created my first page layout in css, I was incredibly happy.
then I completed my html / css projects.
my belief in myself is increasing every time I look at my certificate.I know,its just a small evolution :slight_smile:
now all my day is taking fcc, github, codeacademy, youtube and similar sites.and I respect those who do good works in this area
but I have to research more, read, look at the examples.

I would like to thank everyone again, for your time.

Hi, I would like to give you my two cents on the topic. Check out Javascript.info, a very good structured online tutorial for beginners.


A few good books, I can recommend:


I personally use Jon Duckett book JavaScript and JQuery. He breaks everything down in a way for someone who has never seen JavaScript can get a grasp of how to get started. I would go on amazon and check it out.

1 Like

I would say go read the You Don’t Know Javascript series https://github.com/getify/You-Dont-Know-JS
I’ve learned a lot, it is very thourough and free on github but you can also buy it to support the amazing author who wrote it.