My Advanced JavaScript Learning Journey Complete Breakdown

My Advanced JavaScript Learning Journey Complete Breakdown

For the last three days, I focused on learning Advanced JavaScript step by step. I wanted to understand the concepts that real developers use daily like classes, prototypes, inheritance, and the behavior of this.

Here is a simple and clear breakdown of everything I learned. If you are learning JS, this will help you understand the foundations more confidently.


1. Classes & Constructors (Blueprint for Objects)

A class is a template for creating objects.

When we write:

new Student()        

JavaScript

  • creates an empty object
  • runs the constructor
  • sets this to that new object

We use classes when we want to create many objects with the same structure (like users, products, students).


2. Prototypes (Shared Memory & Efficiency)

Every object in JavaScript has a prototype. Anything we write inside a class but outside the constructor is stored in the prototype.

Why this matters:

  • All objects share the same methods
  • Saves a lot of memory
  • Makes the language faster and more efficient

Understanding prototype behavior gives you real control over how JS works under the hood.


3. The this Keyword (Context-Based)

One of the trickiest parts of JavaScript is understanding this. Its value depends on how a function is called not where it is written.

Important rules:

  • Global scope → this = window
  • Inside an object method → points to that object
  • Arrow functions → do NOT have their own this
  • In nested functions → often becomes window
  • this is decided at runtime, not at write-time

Knowing this helps avoid unexpected bugs.


4. call(), apply(), bind() Manual Control of this

These three tools help us take direct control of this.

  • call() → runs function instantly
  • apply() → same as call, but arguments in array
  • bind() → locks the value of this and returns a new function

One interesting thing I learned: If you write bind("string"), it gives undefined because primitive values don’t have custom properties.


5. Array of Objects

This is extremely useful in real projects.

Examples:

  • product lists
  • user lists
  • students data
  • cart systems

I practiced looping through arrays of objects and accessing details a core skill for real frontend and backend logic.


6. Class Expression (Not Hoisted)

let Person = class { }        

Classes can be saved inside variables too. But unlike functions, class expressions are NOT hoisted, so you must define them before using them.


7. Inheritance (extends)

Inheritance allows one class to use another class's properties.

Example: If Animal has legs, hands, eat(), breathe(), then (Crab) can simply extend:

class Crab extends Animal {}        

Now Crab automatically gets all features of Animal.

Why this is powerful:

  • Avoids repeating the same methods
  • Keeps code organized
  • Helps in scalable architecture


8. super() Calling Parent Class

Inside a child constructor, we must call:

super()        

This:

  • Runs the parent constructor
  • Sets up this correctly
  • Prevents runtime errors

Without super(), extended classes simply won’t work.


🚀 9. Getters & Setters (Controlled Access)

Getters and setters allow us to control data.

Setter

Used to validate and set a value. We often use _variable to show “don’t modify directly”.

Getter

Used to read a value safely.

These act like “gatekeepers” around object properties keeping logic clean and safe.


What This Learning Means for Me

After these three days, I feel more confident about:

  • Object-oriented JavaScript
  • Prototypes and inheritance
  • Understanding this clearly
  • Writing reusable, organized code

These concepts separate beginners from true developers. And I want to build a strong foundation so I can grow confidently in JavaScript and frontend development.

If you're learning JavaScript too…

Feel free to save this post for revision. And if you have resources, tips, or advice I’d love to hear from you.

Let’s grow together 🚀

Thanks to Sheryians Coding School

#JavaScript #WebDevelopment #FrontendDevelopment #CodingJourney #LearningJourney #OOP #Prototypes #DeveloperCommunity

To view or add a comment, sign in

More articles by Muhammad Waleed

  • My Starting Point in Learning JavaScript

    I have just started learning JavaScript (JS), and here’s what I have understood so far 👇 What is JavaScript (JS)?…

  • JavaScript Strings & Methods Guide

    String Introduction In JavaScript, we store text data in variables so that text data is called strings. We can use (""…

Explore content categories