Table of Content
 
Intro
- Intro
 - Course Navigation
 
Setup
- Install "cmder"
 - Visual Studio Code Setup
 - Launch Node.js and execute test JavaScript file
 - Git Overview
 
JavaScript Intro
- Intro
 - Exploring Web Sites in the Browser
 - Create first HTML file and start Live Server
 - Add favicon to the HTML file
 - JavaScript embedded into the HTML
 - JavaScript in the separate file
 - JavaScript in the Console of the Browser
 
JavaScript Types and Variables
- Object in JavaScript
 - Primitive vs Reference Value Types
 - Variable declaration using "var", "let" and "const"
 - Statically vs Dynamically typed Languages
 
JavaScript Objects
- Variety of Objects in JavaScript
 - Objects Modification
 - Global Objects - "window" and "global"
 - Methods of the Object
 
JavaScript Functions
- Introduction to the Functions
 - Syntax of the Function
 - Function Expressions vs Function Declarations
 - Function Expressions
 
JavaScript Operators
- JavaScript Operators (arithmetic, Comparison, Logical)
 - Operands, Unary vs Binary Operators and Notations
 - Operators Precedence and Associativity
 
JavaScript Expressions vs Statements
- Expressions vs Statements
 
JavaScript Scopes
- JavaScript Scopes
 - Undeclared Variables and "use strict"
 
JavaScript Arrays
- JavaScript Arrays
 - JavaScript Array Methods
 
JavaScript Loops and Conditional Statements
- JavaScript "for" Loop
 - JavaScript "while" Loop
 - JavaScript "do while" Loop
 - JavaScript "for in" and "for of" Loops
 - JavaScript Conditional Statements - if, if else and switch
 - JavaScript Ternary Operator
 
JavaScript Advanced Topics
- JavaScript Mutable vs Immutable Values
 - JavaScript "typeof" and "instanceof" Operators
 - JavaScript "new Array", "new String"
 - JavaScript "new Object", "new Function"
 - JavaScript Execution contexts and Execution contexts stack
 - JavaScript "this"
 - JavaScript "call", "apply" methods of the Function
 - JavaScript "bind" method of the Function
 - JavaScript "pass by value" vs "pass by reference"
 - JavaScript IIFE - Immediately Invoked Function Expression
 - JavaScript Synchronous Code Execution
 - JavaScript Events and Events queue
 - JavaScript Callbacks
 - JavaScript Closures
 
ES6 Variables Lifecycles
- Scopes - Global, Function and Block
 - JavaScript let
 - JavaScript const
 - JavaScript Variables Usage Guidelines
 - JavaScript Var, Let or Const?
 - JavaScript Engine Phases
 - Variable Lifecycle Phases
 - JavaScript Var lifecycle
 - JavaScript Undeclared variable lifecycle
 - JavaScript Let lifecycle
 - JavaScript Const lifecycle
 - JavaScript Function lifecycle
 
ES6 Arrow functions
- Introduction to the Arrow Functions
 - Traditional JavaScript Functions Overview
 - Arrow Functions syntax
 - Arrow Functions and "this".
 - Regular functions instead of Arrow Functions
 - Arguments in the Functions
 
ES5.1 Array Helper Methods
- JavaScript forEach() Overview
 - JavaScript map() Overview
 - JavaScript filter() Overview
 - JavaScript find() Overview
 - JavaScript every() and some() Overview
 - JavaScript includes() Overview
 - JavaScript reduce() Overview
 - How sort() works?
 - JavaScript Sorting Algorithms Overview
 
ES6 Template Literals
- JavaScript Template Literals Overview
 - JavaScript Tagged Templates Overview
 
ES6 Rest/Spread Operators and Default Function Parameters
- Rest Parameters Overview
 - Spread Operator Overview
 - Default Function Parameters Overview
 
ES6 Enhanced Object Literals
- Enhanced Object Literals Overview
 
ES6 Array and Object Destructuring
- Destructuring Overview
 - Object Destructuring
 - New Variable Names and Default Values in Object Destructuring
 
ES6 Classes, Prototypes and Function Constructors
- Class-based vs Prototype-based
 - What is inheritance?
 - Prototype Chain
 - __proto__ and [[Prototype]]
 - What is Prototype?
 - Don't reassign __proto__
 - Native Prototypes
 - Prototypal Inheritance in JavaScript
 - Function Constructors
 - Object.create() Overview
 - "instanceof" and "typeof" in the Prototype Chain
 - Classes - Overview
 - Classes vs Function Constructors
 - React and ES6 Classes
 
Babel Introduction
- Babel Module Introduction
 - What is Compiler?
 - Compiled vs Interpreted languages
 - Transpiler
 - Transpling vs Compiling
 - ES5, ES6 and JavaScript
 - What Babel does?
 - Why do we need Babel?
 - ES6 support by Browsers
 - How many browsers need compiled ES5 code?
 - What is User Agent?
 - Serve different JS files to different browers
 - Different JS files on the server
 - How Babel Works?
 - Install Babel Globally
 - Plugins and Presets
 
NPM - Node Package Manager
- Introduction to the NPM
 - Package.json and init
 - Semantic Versioning
 - Packages Installation
 - Dependencies and Development Dependencies
 - Browser App vs Public Package
 - Why package-lock.json file is needed?
 - How lock file is handled
 - Update NPM packages overview
 - Introduction to the NPM scripts
 - NPM .bin Folder with Executable Scripts
 
Apply for certification
https://www.vskills.in/certification/web-development/javascript-developer-online-course
