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