Top Repos to Boost Your JavaScript Knowledge
Tags: career, productivity, javascript
Published: 2020-06-20 02:34:58

**Subscribe to my email list now at http://jauyeung.net/subscribe/**

**Follow me on Twitter at https://twitter.com/AuMayeung**

**Many more articles at https://medium.com/@hohanga**

**Even more articles at http://thewebdev.info/**

Many JavaScript libraries and frameworks are hosted on Github. They include code and free books.

In this article, we’ll look at the top GitHub book repositories to boost our JavaScript knowledge.

JavaScript Algorithms and Data Structures
=========================================

The [JavaScript Algorithms and Data Structures](https://github.com/trekhleb/javascript-algorithms) repo have lots of information about how to solve algorithms and data structure problems with JavaScript.

It includes solutions for solving problems like linked list traversal, trees, sets, hash tables, graphs and more.

Algorithm problems that are solved in this repository include number theory problems, square root, set manipulation, string manipulation, and more.

It also has popular interview questions like search, optimization, fibnonacci sequence and much more.

With the wealth of information that this repository provides, anyone that wants to be a developer should take a look at this repository and learn how to solve the listed problems without looking at it.

Web Security Basics
===================

The [Web Security Basics](https://github.com/vasanthk/web-security-basics) repo has lots of information about cybersecurity.

As the title suggests, it discusses basic security topics like SSL/TLS, cross-domain communication, cross-site scripting attacks, cross-site request forgery, and issuing access tokens securely.

These are the basic building blocks of authentication and security and anyone that needs to build back end apps should learn all of these before building anything.

Functional-Light JavaScript
===========================

[Functional-Light JavaScript](https://github.com/getify/Functional-Light-JS) is a book on the functional programming aspects of JavaScript.

It includes topics like higher-order functions, function composition, pure functions, recursion, reducing side effects and more.

JavaScript has a significant amount of functional programming features with its treatment of functions as first-order.

It introduces us to higher-order functions with examples using array methods that take callbacks.

Also, it takes us through how to write code the functional way in JavaScript.

Clean Code JavaScript
=====================

[Clean Code JavaScript](https://github.com/ryanmcdermott/clean-code-javascript) is a repository that lists all the best practices when writing JavaScript code.

It starts from basic principles like naming variables and functions, then goes on to explain advanced principles like writing asynchronous code properly.

The good thing about this repo is that it’s very concise. It gives us a short explanation with some brief examples so we won’t be overwhelmed with the extra information that we don’t need.

Brief examples are good for beginners since the less they have to read, then easier for them to understand since it removes all the extra stuff that distracts them from understanding concepts.

However, it doesn’t assume that the reader knows the basics of JavaScript so that we can start reading this after we’re proficient at JavaScript basics.

WTFJS
=====

[WTYJS](https://github.com/denysdovhan/wtfjs) is a repository that documents the weird results that can arise from writing JavaScript code.

It focuses a lot on comparisons and type conversions since this is where most of the weird results lie.

JavaScript makes a lot of assumptions about what kind of data is in an object when it decides to convert something, so we have to be careful and don’t let JavaScript do the conversion for us.

Instead, we should convert data ourselves.

Also, old functions to convert data from types like string to number also have issues that this repo’s content illustrates with many examples.

You Don’t Know JS
=================

[You Don’t Know JS](https://github.com/getify/You-Dont-Know-JS) is a useful book that’s free. It’s a book about the fundamentals of JavaScript.

There’s a Getting Started book and there’s another book on Scopes and Closures.

They’re both important concepts in JavaScript that we should learn thoroughly.

The Getting Started book goes through the history of JavaScript so that we can see how things are done in the old way and how it’s better in new ways.

It also goes through the syntax of JavaScript in high enough detail that we can learn from it to write some basic programs.

The scopes and closure book is all about variables and how they’re accessed in JavaScript code.

It also discusses functions and closures in great detail. However, it’s a bit outdated since it hasn’t been updated to discuss the latest JavaScript features.

Conclusion
==========

We can learn JavaScript from free Github repositories. It discusses more things than many books, including the quirks and weird results that we can get from JavaScript.

Also, there’s also a lot of best practices that are discussed in some books.