Exploring JavaScript - Objects, Classes & Prototype Chain
What you'll learn
- In depth understanding of JavaScript's Object & Prototype system
- How Object/Classes, Prototype, THIS keyword & NEW keyword work in JS
- Learn in-depth about Prototype Chain
- Visualise how Prototype Chain in JS connects to object and functions.
- Understand in-depth about __proto__ & [[Prototype]]
Requirements
- Basic understanding of JavaScript
Description
JavaScript is that language that you need to know to build applications that work across the platforms and knowing about the JS from the point of the language specification is really important.
In this course, we will cover the in-depth analysis and understanding of
THIS keyword
Binding that impacts the behavior of this keyword
NEW keyword
Arrow functions
Classes
Prototypes
Prototypal Class
Prototype Chain
Prototype-based Inheritance
Shadowing Prototypes
Classical vs Prototype-based Inheritance
The object system is one of the strongest pillars of JavaScript, the other being the Scope system. The course goes in-depth to understand not only what these features are but also why certain features behave in such strange ways. The strangeness comes mostly from the fact that we all have learned different languages academically. And because the roots of the JS languages is derived from many other languages, it is interesting to see how certain things work differently(which makes them strange to us, hopefully not by the end of the course :) )
By the end of this course, you will be equipped with a solid understanding of how the object system works in JavaScript. It will lead you to master other advanced concepts quite easily. It will also improve your ability in writing solid JS code that is concise and clear in intent.
UPDATES:
12th September 2021 —
5 New Lesson Added - Introduction to Prototype Chain
These video sections are essential in understanding the underlying principles of the Prototype Chain
Learn to visualize & create great mental model when using object & classes
Deep understanding of difference & relationship between prototype, [[Prototype]] & __proto__
Apply the learning from this keyword & new keyword to understand how prototype model works.
15th September 2021 —
5 New Lesson Added - Advanced Prototype Chain & Function-Object Constructor
[[Prototype]] & __proto__ - Part 1
Object & Function Constructor - Part 2
Connecting Object & Function Constructor - Part 1
Connecting Object & Function Constructor - Part 2
The Complete Picture of Prototype Chain
21st September 2021 —
1 New Lesson Added - __PROTO__ is not a Property, its a Function
__PROTO__ is a Function
Who this course is for:
- JavaScript developers who want to build a solid understanding of JS Object, Classes & Prototypes
- JavaScript developers who want to understand the ES6 class system and how behind the scene JavaScript creates it
- Developers who have some idea about Prototype but want to understand what happens behind the scene
Instructor
I have more than 10 years of experience, building web and mobile products using JavaScript and its frameworks. I have worked on applications that leveraged frameworks like ReactJS, React Native, AngularJS, Backbone, Ionic, etc.
Currently, I am using React in all my production codebases. I am weaving the applications together using Apollo Client, GraphQL, RamdaJS & TypeScript under a micro-frontend architecture. I strongly prefer using functional programming.
In my upcoming projects, I will be extending my FP skills and leverage ADTs using CrocksJS for handling the uncertainty of the data and type.
My technology journey started even before I joined college, in fact, I never studied computer science. I am a business graduate and self-taught technologist. I was lucky to be part of the Software Development & Research Group in the college that helped me grow on the tech side of things.
Soon after graduating, I created WebRupee and it was the first web-font API for Indian Rupee Symbol which was used by eBay, Jet, Kingfisher Airlines, Bata, BSNL, and thousands of top brands across the globe. WebRupee helped me segway into creating my own startup, building numerous products, and working with many clients that bootstrapped my venture. Later, I also created a Firefox toolkit that would bring in essential Photoshop features for a pixel-perfect web design and it was featured in SmashingMagazine(.com) and many top blogs around the world.
I have also collaborated with the Firefox team in reviewing browser plugins for their v4 release and delivered many workshops on how to build apps on the Firefox platform. The idea was to make create an open and inclusive culture for the developer community.