Jennifer Bland header image
≡ Menu

6 Skills Every JavaScript Programmer Needs to Have

It is very easy to pick up a programming book on JavaScript and learn the fundamentals. There is a big difference between somebody who knows the fundamentals and a very skilled JavaScript programmer.

There are 6 skills that every JavaScript programmer needs to know. Knowing these skills will set you apart from the competition but it will also provide you with a solid foundation of skills that will support you over the coming years.

Most of the skills are above and beyond what you will find in a basic introduction to JavaScript programming book. The reason is these skills are built upon knowing the foundations of the language already.

You can measure you knowledge of JavaScript by measuring how well you know these six basic skills.

Basic Skills

Here are the 6 basic skills that I think every JavaScript programmer needs to know:

  1. Closure in JavaScript
  2. Hoisting
  3. JavaScript Instantiation Patterns
  4. .call vs .apply
  5. Tree vs Graph Data Structure
  6. Time Complexity

Closure in JavaScript

JavaScript provides scope to determine what your code has access to at the moment it runs. That scope is distorted with the use of closure. A closure is a function object that retains ongoing access to the variables of the context it was created in (even after the outer function calls it was created within have returned).

Read more about closure in JavaScript here.


Your can experience unexpected results in your JavaScript programs due to execution that does not occur like you expected. A good example of this is that you can actually use a variable in JavaScript before you declare it. This is allowed because of hoisting in JavaScript.

Read more about hoisting here.

JavaScript Instantiation Patterns

There are multiple ways you can create a class in JavaScript. Each method provides unique features not found in the other methods. The four JavaScript instantiation patterns are functional, functional shared, prototypal and pseudo-classical.

Read more about functional and functional shared here.

Read more about prototypal and psuedo-classical here.

.call vs .apply

JavaScript provide two methods to execute a function. Those two methods are .call() and .apply(). Understanding the difference between these two methods is a way to distinguish from a beginning JavaScript programmer and a seasoned one.

Read more about the differences between .call and .apply here.

Tree vs Graph Data Structure

In JavaScript programming, data can be stored in data structures like graphs and trees. Though the two data structures are similar there is a big difference between them. A good JavaScript programmer can tell you the difference.

Read more about Tree Vs Graph Data Structure here.

Time Complexity

JavaScript programmers will spend their entire day writing algorithms to solve a problem. Whether or not their code runs fast or slow depends on the technique their used in their algorithm.

The best JavaScript programmers understand time complexity because it impacts the performance of their application. Read more about time complexity here.

by Jennifer Bland

I am a Google Developers Expert. Entrepreneur. Mountain Climber. Neil Diamond fanatic. World traveler. MBA grad. Software Engineer. Interested in hiring me? Contact me at

0 comments… add one

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.