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
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:
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:
Knowing this helps avoid unexpected bugs.
4. call(), apply(), bind() Manual Control of this
These three tools help us take direct control of this.
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:
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:
8. super() Calling Parent Class
Inside a child constructor, we must call:
super()
This:
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:
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