
A brief course introduction that provides an end-to-end overview/agenda of the curriculum.
Tools and Environment Setup
How to define variables and its associated rules
Difference between keyword let and const
Three simple rules for valid variable names
Types of Data Types in JavaScript: Primitive (single value) data type and reference (complex value) data type.
Creating empty values using primitive data type.
Understanding primitive data type: String
Understanding Template Strings
Understanding String Prototype Methods.
Understanding primitive data type: Number.
Understanding Math Library methods.
Understanding primitive data type: Symbol
Converting one primitive data type to another primitive data type.
Coding exercise on primitive data types
Solutions for the coding exercise of primitive data types
Introduction for Section 4: Operators and Statements
Understanding math operators, comparison operators, logical operators and conditional operators.
Understanding if/else statement
Understanding switch statement
Understanding loops
Understanding while loop
Coding Exercise: Given a positive integer, check if the number is prime or not. A prime is a natural number greater than 1 that has no positive divisors other than 1 and itself.
Coding Solution to prime number coding exercise.
Section Introduction of Scope and Scope Chain
Understanding Global Scope
Understanding Block Scope
Understanding Lexical Scope
Understanding scope chain
Section Introduction of Arrays and Objects
Introduction to JavaScript Arrays.
Mutating JavaScript Arrays. Adding and removing values from an array.
Understanding Multidimensional Arrays
Understanding iteration through an array using for loop and forEach loop.
Introducing JavaScript Objects.
Iterating through object properties using the "for in" loop.
Understanding newly introduced Destructuring assignment feature in JavaScript.
Understanding newly introduced reference data type: Set.
Understanding newly introduced reference data type: Maps and WeakMaps.
Coding exercise on reference data types.
Coding solution on reference data types.
Introducing functions in JavaScript. Understanding differences between function declaration and function expression.
Understanding spread operator and rest parameters.
Setting default parameters for functions in ES6
Understanding callback functions and their applications.
Understanding array methods: map, filter, and reduce.
Understanding array method: sort. For example: sort ascending/descending order, sort array of objects.
Understanding array methods: some() and every()
Coding exercise: callback function
Coding solution: callback function.
Introducing prototype based Inheritance.
Function constructors behaves like classes in JavaScript.
Extending function constructor is more like creating sub-classes from the main-class.
Classes in JavaScript are very different than classes in classical inheritance. They are really syntactical sugar, underneath they are using function constructors and prototypal inheritance.
Understanding sub-classes.
Arrow functions are function without its own 'this'. This is more like regular functions in other programming languages.
It's important to understand this keyword in object literals so that we can use call, apply, and bind to borrow methods from one object to be used on other objects.
To understand power of functional programming, you must understand call, apply, and bind. Using these, you can mix and match functionalities of objects.
Understanding closures. it's the root of functional programming as it allows JavaScript to be non-blocking.
You can chain methods to achieve shorter syntax.
Understanding blocking vs. non-blocking.
If you want to create wait, or you want to do something over an over forever, use setTimeout and setInterval in that order.
Promises are the heart of making API calls in JavaScript, with reasonably simple syntax.
If you want to block something in the non-blocking environment, use async await. It doesn't block everything, you can control things you need to block by putting them in an async function.
Want to get data from server or send some data to server? You will need Rest API, it's a stateless protocol that is very popular.
Understanding REST API methods: get, post, put, patch, and delete.
Understanding newly introduced fetch API.
This is a modern and comprehensive JavaScript course that focuses on the latest version of JavaScript.
You don't need any prior JavaScript experience at all, we will start by JavaScript basics like declaring variables using const and let keywords. After that we will look at how scope works in JavaScript, here we will understand global scope , lexical scope and block scope. We will then learn about variase data primitive data types such as string, boolean and number. Before we move to anyfurthrer we will look at some computer science fundametanls like if-else statements, for-loops, while loops, and diffreent operators specific to JavaScript. By then we will be ready to learn complex data structures like arrays, objects, maps and sets. After that we will focus on some important JavaScript fundamentals such as closures, object creation, method chaining, prototype inheritances, call, apply, bind, spread operator, arrow function, promises. I will cover all of the latest features of JavaScript. Features such as Async Await, Array.from(), Array.Map() that were recently introduced. I will also go through ES2015, ES2016, ES2017, ES2018, ES2019, ES2010 and ES2021 features. You also will get lots of coding exercises to practice. In the end I will show you how to build few practical JavaScript Projects. You will surly enjoy building your own to-do list using pure JavaScript. One of the best feature of this course is its simplicity. All the coding samples are very easy to understand. I prefer to use real world use cases to explain concepts.