πŸ›‘ Javascript Battalion πŸ›‘

Module 1 Basics the foundation πŸ—οΈ


  • βœ… var, let and const πŸ”—
  • βœ… TDZ Temporal Dead Zone πŸ”—
  • βœ… Is var Dead? What should I use? πŸ”—
  • βœ… use strict πŸ”—
  • βœ… == vs === operator πŸ”—
  • βœ… !! double negation operator πŸ”—
  • βœ… List of Falsy values
  • ❌ Multi threading and Javascript

Module 2 Object


  • βœ… this keyword
  • βœ… Details about object
  • βœ… Optional chaining ?.
  • βœ… Object to primitive conversion
  • βœ… Object descriptors
  • βœ… Object Property getters and setters
  • βœ… protecting Objects
  • βœ… Objects Methods
  • βœ… Nullish coalescing operator ??
  • βœ… typeof and instanceof
  • βœ… Host object and Native object

Module 3 Datatypes


  • βœ… Brief insight about data types πŸ”—
  • βœ… Template Literals / String Interpolation πŸ”—
  • βœ… Array and its methods πŸ”—
  • βœ… String and its methods πŸ”—
  • βœ… Undefined and Null πŸ”—
  • βœ… Symbols
  • ❌ Date πŸ“…
  • ❌ JSONP and JSON methods

Module 4 Function


  • βœ… Regular Function
  • βœ… Function Parameters
  • βœ… Arrow functions
  • βœ… Immediate execution function IIEF
  • βœ… Decorators and forwarding
  • βœ… Function binding and borrowing (bind, call and apply)
  • βœ… Anonymous and Named Functions
  • βœ… Pure Functions
  • βœ… Function Chaining
  • βœ… Scheduling: setTimeout and setInterval
  • ❌ High Order Function
  • βœ… Function Composition
  • βœ… Function Currying

Module 5 Prototypes, inheritance


  • βœ… Prototypal inheritance
  • βœ… Prototype in constructor function
  • βœ… Prototype in class
  • βœ… Prototype methods, objects without __proto__

Module 6 Classes


  • βœ… Class basic syntax
  • βœ… Class Fields
  • βœ… Private and protected properties and methods
  • βœ… Static properties and methods
  • βœ… Class inheritance, Extending Classes and using super()
  • ❌ Extending built-in classes
  • ❌ Mixins

Module 7 Destructuring


  • βœ… Destruction Assignment
  • βœ… Destructuring Objects
  • βœ… Destructuring Array
  • βœ… Destructuring Functions Arguments
  • βœ… Spread Operator
  • βœ… Rest Operator

Module 8 Error Handling


  • ❌ Error handling, try..catch
  • ❌ Custom errors, extending Error

Module 9 Promises


  • βœ… callbacks
  • βœ… Promise
  • βœ… Promises chaining
  • βœ… Promise API

Module 10 Generators and Iterators


  • βœ… Generators
  • βœ… Generator functions
  • βœ… Yield keyword
  • βœ… Generator Composition
  • βœ… Iterating Over a Generator
  • βœ… Generator using iterator
  • βœ…Closing Generators
  • ❌ async/await with Generators

Module 11 Modules


  • βœ… Modules, introduction
  • βœ… Core module features
  • βœ… Export and Import (as, *, default)
  • βœ… Build tools and its anatomy
  • βœ… Dynamic Imports

Module 12 Proxy


Module 13 Sets and WeakSets


  • βœ… Set
  • βœ… Methods of Set
  • βœ… Features of Set
  • βœ… WeakSet

Module 14 Map and Weak Map


  • βœ… Map
  • βœ… Methods of Map
  • βœ… Features of Map
  • βœ… WeakMap
  • βœ… Applications of WeakMap

Module 15 Async + Await Flow Control


  • βœ… Async-Await
  • βœ… Async-Await with other syntax
  • βœ… Error Handling with async and await

Module 16 Document Model


  • ❌ Browser environment, specs
  • ❌ DOM tree
  • ❌ Walking the DOM
  • ❌ Searching: getElement*, querySelector*
  • ❌ Node properties: type, tag and contents
  • ❌ Attributes and properties

Module 17 Playing with Events


  • βœ… Introduction to browser events
  • βœ… Bubbling and capturing
  • βœ… Event delegation
  • βœ… Event Looping
  • βœ… Event Propagation
  • βœ… event.preventDefault()
  • βœ… event.stopPropagation()
  • βœ… event.target and event.currenttarget

Module 18 UI Events


  • ❌ Mouse events
  • ❌ Moving the mouse: mouseover/out, mouseenter/leave
  • ❌ Drag'n'Drop with mouse events

Module 19 Forms, controls


  • ❌ Form properties and methods
  • ❌ Focusing: focus/blur
  • ❌ Events: change, input, cut, copy, paste
  • ❌ Forms: event and method submit

Module 20 Web components


  • ❌ From the orbital height
  • ❌ Custom elements
  • ❌ Shadow DOM
  • ❌ Template element

Module 21 Code Quality πŸ‘Œ


  • βœ… Polyfill for bind()
  • βœ… Code Quality with ESlint
  • ❌ What is the difference between Lodash and Underscore
  • ❌ Shim Vs Polyfill

Module 22 Miscellaneous


  • βœ… Hoisting
  • ❌ Eval: run a code string
  • ❌ Mutation observer
  • ❌ Selection and Range
  • ❌ Execution Context
  • ❌ Memorization
  • ❌ How Garbage collection works
  • ❌ Atomics
  • ❌ Dataview
  • ❌ Typed Array
  • ❌ Underscore.js
  • ❌ Lexical Scope
  • ❌ Tress-Shaking




Last updated on by Abhin Pai