
a fundamental data type is the Object data type.
JS has one complex data type, the Object data type, & it has five simple data types
Number, String, Boolean, Undefined, and Null
these simple (primitive)data types are immutable, while objects are mutable

A prototype is a fundamental concept
To understand prototype in JS you must understand objects in JavaScript
If you arenât already familiar with objects, you should revise objects in detail.
a property is simply a variable defined on a function.

These concepts may seem straightforward; they are not. Some important subtleties exist that we must understand if we want to thrive and excel as JavaScript dev
You should know how variable scope & hoisting work in JS, if want to work well in JS

Closures allow JavaScript programmers to write better code. Creative, expressive, code
Closures might seem complex and beyond your scope, but after practice,
Closures will be much more easily understood & thus more appealing for your everyday JS tasks.

Learn JavaScript Higher-order Functions, aka Callback Functions.
In JS, functions are first-class objects; that is, functions are of the type object & they can be used in a first-class manner like any other object (String, Array, Number, etc.)

The "this" keyword in JS confuses new and seasoned JavaScript developers alike.
You should understand how to use this correctly in every scenario.

Prerequisite to understand with ease

* Understand JavaScriptâs âthisâ With Ease, and Master It.
* JavaScript Objects
* Understand JavaScript Closures
Functions are objects in JS And as objects, functions have methods, including the powerful Apply, Call, and Bind methods.
On the one hand, Apply and Call are nearly identical and are frequently used in JavaScript for borrowing methods and for setting "this" value explicitly.
On the one hand, Apply and Call are nearly identical and are frequently used in JavaScript for borrowing methods and for setting "this" value explicitly.

Prerequisite:
*JavaScript Objects in Detail
*JavaScript Prototype
OOP refers to using self-contained pieces of code to develop apps, these self-contained pieces of code called objects, better known as Classes in most OOP languages & Functions in JS.
Some More topics 
* Learn Node.js Completely
* JavaScript Custom Events
* Unit Testing of JS App
* DOM (Document Object Model) manipulation
* After this you must start hands-on one JS Front-end Framework like React, Angular, Vue
* Debugging Your Code
Happy coding & Good luck

* Learn Node.js Completely
* JavaScript Custom Events
* Unit Testing of JS App
* DOM (Document Object Model) manipulation
* After this you must start hands-on one JS Front-end Framework like React, Angular, Vue
* Debugging Your Code
Happy coding & Good luck