Some of my favorite Javascript resources
Tags: javascript, books, tutorial, opinion
Published: 2019-08-06 21:45:47

This is my first post here in dev.to, so I think I'm going to start with a presentation of some of my favorite Javascript resources!

# The Modern JavaScript Tutorial

![](https://thepracticaldev.s3.amazonaws.com/i/6p0d8dmupzte1e7x3twm.jpg)

The first resource I'm going to present is an online tutorial by Ilya Kantor (and many other contributors on Github). It is a simple tutorial that covers lots of the language's aspects. It is organized in three main parts:

### 1. The JavaScript language
Here, the author starts with an introduction to the language, proceeds with the basic building blocks, like data types, conditional and logical operators, loops, functions, prototypes, classes etc, and ends with more advanced topics like, promises, generators, the module pattern etc.

### 2. Browser: Document, Events, Interfaces
The second part is dedicated to browsers and working with the DOM. Elements, events, event listeners, forms, are some of the topics that this part is dealing with.

### 3. Additional articles
In the third part, the author presents a set of various articles that cover topics that were not covered in the previous parts of the tutorial, like these:
- Frames and windows
- Binary data and files
- Network requests
- Animations
- Regular expressions

and more..

I found this tutorial very useful and easy to follow. The author has a unique way of explaining each topic with simple examples that makes it easy for the reader to get the point. Furthermore, the structure of the tutorial allows for easy and quick search of anything! I often consult this tutorial for various topics and I would encourage anyone to do so 😀

# Fun Fun Function

{% youtube 2d7s3spWAzo %}
 
Another resource that I would like to present is the **Fun Fun Function** channel on YouTube, by Mattias Petter Johansson (or *mpg*). In this channel, Mattias releases a new video every Monday at 08:00 GMT, resulting in a great teaching experience! Various topics are covered here like:

- Functional programming
- Closures
- Currying
- Transducers
- TDD
- Promises / Async-Await / Generators
- GraphQL
- Error handling
- Classes

and so much more, such as more abstract topic like *Time to leave your job?*, *Problem solving preparation* etc.

As with the previous resource, Mattias is excellent in explaining advanced topics in a clean and understandable way, with a lot humor! **Fun Fun Function** episodes helped me underdestand promises, generators, iterators and functional programming principles.

# Eric Elliot - Medium Blog

![](https://thepracticaldev.s3.amazonaws.com/i/1bow6zr3ab53u9nwmmor.jpg)

Eric Elliot is the author of [Programming JavaScript Applications](https://www.amazon.com/Programming-JavaScript-Applications-Architecture-Libraries/dp/1491950293/ref=as_li_ss_tl?ie=UTF8&qid=1501725815&sr=8-1&keywords=programming+javascript+applications&linkCode=ll1&tag=eejs-20&linkId=c45c264a109e67af7ecfe5ef2856da63) and [JavaScript Scene](https://medium.com/javascript-scene). His blog in Medium covers a wide range of Javascript topics in great detail.

Some of the articles that I've read and I liked the most are the following:

- [Master the JavaScript Interview: What is a Pure Function?](https://medium.com/javascript-scene/master-the-javascript-interview-what-is-a-pure-function-d1c076bec976)
- [Transducers: Efficient Data Processing Pipelines in JavaScript](https://medium.com/javascript-scene/transducers-efficient-data-processing-pipelines-in-javascript-7985330fe73d)
- [Curry and Function Composition](https://medium.com/javascript-scene/curry-and-function-composition-2c208d774983)

Eric Elliot's articles helped me take a deep dive into some of the core concepts of the functional paradigm (like currying, pure functions, tranducers etc). It is obvious that Eric has a deep knowledge of the Javascript language. This is reflected in his articles, each of which constitutes a profound and valid analysis of the topic under investigation. I will definitely try to find the time to read all of his posts!

# Programming Javascript Applications by Eric Elliot

![](https://thepracticaldev.s3.amazonaws.com/i/mwrz14xknkpf3w30775o.jpg)

I am going to stick with Eric Elliot for the next resource, as it is a book that presents a complete overview of a modern Javascript application architecture. This book covers various topics like:

- Presentation of the Javascript language and its advantages
- Functions (pure functions, lambdas, IIFE, scope, hoisting etc)
- Objects (Prototypes vs OOP)
- Modules (AMD, ES6 modules)
- Client side vs server side
- Authentication and authorization
- Logging
- REST APIs

and much more, all with detailed examples.

**Programming Javascript Applications** helped me get a full picture of how modern Javascript applications should be organized, tested and deployed.

# You don't know JS by Kyle Simpson

![](https://thepracticaldev.s3.amazonaws.com/i/mmreawa43gitts6gkdqi.jpg)

Last but not least (in fact that's my favorite), it's a series of 6 books by Kyle Simpson, titled *You don't know JS*. [Kyle Simpson](https://me.getify.com/) teaches Javascript and he is realy good at that! Seriously, I believe Javascript is what it runs into his veins!

The series consists of six books and is suggested that they are read in the following order:

1. Up & Going
2. Scope & Closures
3. this & Object Prototypes
4. Types & Grammar
5. Async & Performance
6. ES6 & Beyond

What I liked the most in this book series, is the author's absolutely deep knowledge of the subject. Kyle Simpson shows that he takes seriourly what he does and that made me love his way of writing.

# Conclusion

After reading those books and watching many videos, alongside with other useful resources, not mentioned in this post, I retook a pluralsight skill assessment in Javascript and managed to reach the expert level. It seems that these resources were really useful to me, and I hope for you too!

![](https://thepracticaldev.s3.amazonaws.com/i/dwvf4txpp39ye2kcyzmc.jpg)

Please, let me know what do you think about the resources I presented. Feel free to list some of your favorite books, tutorials, or anything else!

# Future reading

Here are some resources that I would like to read in the future:

- [Composing Software](https://leanpub.com/composingsoftware) (by Eric Elliot)
- [Testable JavaScript: Ensuring Reliable Code](https://www.amazon.com/Testable-JavaScript-Ensuring-Reliable-Code/dp/1449323391) (by Mark Ethan Troster)
- [Functional Light JS](https://github.com/getify/Functional-Light-JS) (by Kyle Simpson)
- [Learning Javascript Design Patterns](https://www.oreilly.com/library/view/learning-javascript-design/9781449334840/) (by Addy Osmani)

# References
- [The Modern JavaScript Tutorial](https://javascript.info/)
- [Fun Fun Function](https://www.youtube.com/channel/UCO1cgjhGzsSYb1rsB4bFe4Q/featured)
- [Eric Elliot - Medium](https://medium.com/@_ericelliott)
- [Programming Javascript Applications](https://www.amazon.com/Programming-JavaScript-Applications-Architecture-Libraries/dp/1491950293)
- [You don't know JS](https://www.amazon.com/gp/product/B07FK9VBD7/?ie=UTF8&%2AVersion%2A=1&%2Aentries%2A=0)