Back to all AlgoDaily courses

Intermediate Javascript Concepts

Once you have a solid grasp of the fundamentals of JavaScript, such as variables, data types, functions, loops, and DOM manipulation, there are a number of powerful intermediate language features and concepts that are important for front-end developers to understand.

These concepts will allow you to write more concise, performant, and scalable JavaScript code in your applications and modules. Mastering these ideas will level up your ability to tackle complex JavaScript projects and frameworks.

Section Menu

How do I use this section?

1. LESSON

Class vs. Prototypical Inheritance

JavaScript, the ubiquitous language of the web, has long been a source of intrigue for developers, particularly when it comes to object-oriented programming (OOP) concepts. While most OOP languages rely on classes as the cornerstone of inheritance, JavaScript takes a unique approach, utilizing prototypes to establish relationships between object...

2. LESSON

Getting to Know Promises, Async, and Await in JS

If you have dabbled in web development before, there is a high chance that you have worked with what's known as asynchronous operations. These are programmatic operations that don’t block the flow of execution, and allow users to continue using a website while the response is being fetched. According to [the Node.js docs](https://nodejs.org...

3. LESSON

Modules and Import/Export Syntax

Modules are an integral part of modular and scalable front-end development. By splitting code into separate files and modules, complexity can be better managed. This tutorial will provide an overview of what JavaScript modules are, why they are essential for modern web development, and how to use import and export syntax to c...

4. LESSON

Arrow Functions in Javascript/Typescript

Arrow Functions are a concise way of writing a function expression. They are also called Lambda Functions in other languages. An Arrow Function expression is a compact alternative to a traditional function expression, but is limited and cannot be used in all situations. Arrow Functions are sometimes called fat arrow functions, because o...

5. LESSON

Getting to Know Closures in JavaScript

Closures are a relatively new concept in JavaScript and they tend to be a little difficult for people to understand. There have been times when people use closures, but don’t really know that they’re using one. The docs on MDN are easy to get started with, but for a better understanding of the concept, you must get your hands dirty with some code....

6. LESSON

Introduction to JS Engines and Runtimes

What is an Engine? A JavaScript engine is a program whose main task is to read and execute code. So, the way that this program works is: Read the code Translate it into machine code Run that machine code The JavaScript engines are embedded in JavaScript runtime environments such as browsers, Node.js, or even Java Runtime Environment...

7. LESSON

Is Javascript Pass by Reference or Pass by Value?

Before exploring today's topic, let's examine the distinction between TypeScript and JavaScript. When comparing JavaScript and TypeScript, you should know that JavaScript is a programming language that allows you to make interactive web pages, while TypeScript is a superset of JavaScript. TypeScript code requires compilation, whereas Jav...

8. LESSON

Understanding the Event Loop

Demystifying Event Loops in Modern Browsers Welcome to the thrilling, high-speed world of modern web browsers, where your CPU zooms through tasks faster than The Flash. The superpower behind this speed? The concurrency model and the event loop. These two elements work in harmony to ensure a seamless, lag-free browsing experience. But what's...

9. LESSON

Introduction to Functional Programming

JavaScript is an incredibly versatile language. It brings together object-oriented, functional, and procedural programming paradigms in a single place. It is therefore not closely associated with any one of them, but all three. Today, we will get acquainted with functional programming, some of the concepts associated with it, and a few exampl...

10. LESSON

Pure Functions in JavaScript

Understanding Pure and Impure Functions in JavaScript What are Pure Functions? Pure functions are akin to reliable friends who always give you the same advice when you ask the same question. In other words, they produce the same output for the same input, irrespective of the world around them. Characteristics: Depend solely on...

11. LESSON

Memory Management in JavaScript

Memory management is a critical concept in JavaScript. Unlike languages like C and C++, JavaScript automatically allocates memory when objects and variables are created, and frees it up when they are no longer used. This automatic memory management is handled through garbage collection. Understanding how memory allocation and...

12. LESSON

Use Strict Directive

Deep Dive into JavaScript's 'use strict' Directive JavaScript's use strict directive is similar to an elite coach who'll push you (albeit harshly) to optimize your performance. As you embrace disciplined coding, you'll find that this tiny directive packs a big punch, shaping you into a proficient JavaScript developer. Let's delve into the ma...

13. LESSON

Generics and Decorators in TypeScript

TypeScript supports functionality for generics and decorators to make code more readable and reusable. We can use generics to make generalized functions and variables that work with any data type. With decorators, we can process classes and their properties and methods without explicitly passing them to fun...