It is quite amazing how you can go from zero to a fully professional software engineer solely with the help of free resources available on the internet. But it can also be noted that developers who take this path often disregard the concept of data structures. They believe that knowledge of these data structures wouldn’t benefit them as they’ll only be developing simple applications.
But on the contrary, I believe learning data structures, right from the start, is essential. Data structures are mainly beneficial for building efficient applications. An application built using data structures will be more efficient than an application built without them. But this does not mean that you should use data structures for each and every requirement. …
The MDN Docs defines a Promise as an object that represents the eventual completion (or failure) of an asynchronous operation and its resulting value. This might sound a bit too complicated for newbies.
Jecelyn explains Promises as follows: “Imagine you are a kid. …
A decorator is simply a way of wrapping a function with another function to extend its existing capabilities. You “decorate” your existing code by wrapping it with another piece of code. This concept will not be new to those who are familiar with functional composition or higher-order functions.
Decorators allow you to write cleaner code and achieve composition. It also helps you extend the same functionality to several functions and classes. …
You can read more about the ES2020 features in my previous article over here.
Let’s have a look at these awesome two features. …
IIFE is the abbreviation for Immediately Invoked Function Expression. Although the term looks long and confusing, it is a quite simple concept. You can easily understand this concept by understanding what each term means.
Let’s have a look at an IIFE to get a better understanding. …
Let’s focus on how images affect your performance. According to Jecelyn, on average a web page consumes 5 MB of data just for images. This can be a heavy burden on the users as it can be very costly in some countries, especially on mobile data. The users will also have issues with site loading times, notably with slower connection speeds. …
One such proposal is concerning a new feature called “top-level await”. This particular feature enables ES modules to act as
async functions. It allows ES modules to
await resources and block other modules who
import them. The modules who
import an awaiting resource can only evaluate the body after the resources have been settled and are ready.
This proposal is currently in stage 3, therefore you can’t directly use it in production. But it is beneficial for you to learn it as it will soon be rolled out in the near future. …
As computers have now become more powerful, they use several CPU threads to process data. This brings forth newer problems regarding resource sharing as there can be synchronization issues when multiple threads access a single resource.
If you are familiar with threads, you would be aware of the concept of locks. Locks are a method of synchronization that enforces access restrictions to threads such that multiple threads cannot access a single resource at the same time. Although a variant of locks allows multiple threads to access a resource at an instant, it still limits the access to read-only. …
null is not as “primitive” as it first seems! Every Object is derived from
null value, and therefore
typeof operator returns an object for it.
But with the release of ES6 in 2015, a newer primitive type — Symbol, was added. They were quite different from the previous primitives. They were simply values, not strings, nor numbers nor even Objects. …