3 Ways To Write An Elegant JavaScript Code

Vipinraj Nair
5 min readNov 20, 2021


Are you a developer handling JavaScript? At your workplace, you probably have to share your work with your fellow team members. And, of course, everyone loves clean code. So, it is essential to write simple code that is easy to read and quick to follow by other developers as well.

It is highly advisable to look at some of your older codes once you finish the project. That way, you can find ways to refactor and improve readability. For instance, you can do so by wrapping repeated code into subroutines, writing custom React hooks, and more.

Knowing how to make your JavaScript as easy as possible is a valuable skill to possess. Yes, that, in turn, will make you every developer’s favorite at the office. Here are 3 ways to write elegant JavaScript code. Learn to simplify your JavaScript code and make it handy to understand by your team members.

1)Learn Concepts:

Learning concepts is crucial than learning frameworks as concepts will stay forever. When you get started, it could be challenging to understand the concepts behind the code. For instance, why does it behave like that, and why to do so? But, eventually, with experience, you will start understanding them.

Most beginners start coding but without completely understanding it. That may help you get started but will not help in the long run. Developers should question themselves and know what they are doing and why they are doing so as they gain experience rather than simply following the syntax.

Create your jQuery plugin and try understanding how it works. You can kickstart your learning process by knowing more about objects, prototypes, and inheritance in JavaScript. Gradually, you can learn how to create object chaining, iterable, and understand DOM better. Learning about concepts and design patterns of JavaScript will help in your overall programming career. You will survive even if its library or framework is dead in the future.

You can understand the JavaScript design patterns better by understanding:

  1. Method Chaining
  2. IIFE (Invoked Functions Expressions) and Closures to isolate behavior and already created private properties.

2)Use Appropriate Tools:

Many developers use babel js, frameworks, and SSR without understanding how it works. Sometimes, they tend to use it even if it is not relevant to their context.

For instance, some people use the arrow functions simply because it is shorter. But, that is not what it was made for in the first place. You can leverage arrows to solve the context issues with functions. But, most developers use arrow functions because it is easier. However, you will end up only with errors if you did not use the right tools.

Another well-known example is the usage of async/await. Though async/await are handy to use, you can’t use them for every situation. But many developers use async/await everywhere and end up creating a try/catch hell.

At times, Promise is better, while sometimes async/await is the way to go. In short, you have to understand the context and know what to use and when.

You can ask yourself the following logical questions to understand the context:

  1. Does my target audience have old browsers?
  2. Is the given project complex enough to use a framework and not go vanilla?
  3. Do we need a maintainable project?
  4. Will other developers use the project?
  5. What is my end goal? What am I trying to achieve?

Asking the above questions will make you choose the right tool. A project that needs no maintenance will not need the same architecture overhead as an app that will last for 2 or 3 years.

You will not need React or any other frameworks all the time. When you start installing the framework CLI to do a modal or an AJAX call, ask yourself a few questions. Sometimes all you will need is a .html file and a script tag. So, it is all about knowing the context.

ES6 — A Quick Guide:

  1. let creates scope in parentheses, var creates scope in functions.
  2. A const is only affected once. However, if it is an object, it can mutate.
  3. The arrow functions take the context of the closest regular function.
  4. The arguments keyword will not work in arrow functions.
  5. The class keyword is syntactic sugar for a prototype class. A class can extend an instance, for example.
  6. Always catch async/await calls.
  7. .map, .forEach, .filter and .reduce do not have a break keyword. So, use a regular for while loop whenever necessary.
  8. import and require only acts once. If you import 10X something, after the first time, it always returns the same thing.

To cut a long story short, understand the concept before using any tools.

3)Think More and Code Less:

The heading says it all, but high time, someone says it loud. Developers have to think before writing any single code. Think and write Unified Modeling Language(UML) or anything that will help you design more before you start coding.

You need not do anything because it is trendy or what other people are doing. TypeScript is good, but you need not use it everywhere. Use TS only when necessary. Many developers use TS mostly because everyone else around them does. But it is unwanted hype.

Also, use ES6+ and babel js only if it is relevant to your project and not because it is convenient. The same rule goes to frameworks and libraries as well. Use it if it is suitable for your project.

Final Thoughts:

Always focus on simplifying your code. Generally, more lines of code call for more bugs, and you will need more time to fix them. A few lines of effective code can perform the same function, probably even better than many lines of complex code.

By understanding the concept behind every single line of code, you can write elegant and classy JavaScript codes. Many newbie developers tend to follow the trend or what other people are doing blindly. But, that will do more harm than good.

Always think twice before you act. Moreover, when you go by concepts, you can quickly adapt to any new frameworks or libraries. Yes, developers can update themselves with new tools or technologies easily; if they know the concept behind their code.

Ideally, you have to be thorough with your fundamentals. The rest will take shape on its own. More than trends and other developers, trust your intuition and question your code. Find out the reasons and try simplifying and improvising your code.

Use the above-said tips to make your JavaScript code an elegant one. Craft high-quality, developer-friendly, and readable code that performs flawless functions. Happy coding!!