Skip to content

patil-rahuls/javascript-fundamentals

Repository files navigation

Important Javascript Concepts with Codes

Basic Concepts

  • var, let [ES6] and const [ES6], and their comparision
  • typeof
  • Type Conversion and Coercion
  • Function Declaration and Expression
  • Equality Operators
  • Falsy Values
  • [ES6] Destructuring Assignment
  • Short Circuiting
  • Nullish Coalescing Operator
  • [ES6] Spread Operator
  • [ES6] Rest Operator
  • [ES6] Arrow Functions
  • [ES6] Enhanced Object Literals
  • [ES6] Template Literals
  • [ES6] for-of loop
  • for-in loop
  • Error Types
  • Console methods
  • User Interaction (Browser)
  • DOM Manipulation (Browser)

Data Structures

  • Arrays
  • Array Methods
  • [ES6] Typed Arrays
  • Objects, properties retrieval, removal, iteration, clone and methods
  • Objects' this keyword
  • [ES6] Maps, iteration and methods
  • [ES6] Sets, methods and use cases
  • Symbols (WIP)
  • Which data structure to use?

Functions

  • [ES6] Default parameters
  • Pass by Value OR Pass by Reference
  • setTimeout()
  • setInterval()
  • Optional Chaining
  • Closures
  • Higher Order Functions
  • call, apply and bind methods
  • IIFE
  • String methods
  • Debouncing
  • [ES6] Iterables & Iterators
  • [ES6] Generators
  • Decorators (WIP)
  • Number & Dates in JS

How Javascript Works

  • Compilation, Interpretation and JIT-Compilation
  • Javascript Runtime
  • Javascript Engine
  • Function Execution Context
  • Hoisting and TDZ
  • The this Keyword
  • Arrow Functions Vs Regular Functions
  • Primitives and References
  • Event Loop
  • Event Loop Queues
  • Memory Management (WIP)

Modules

  • Introduction & Module Types
  • ES6 Modules
  • Module Pattern & Modules behind the scenes
  • import vs require

Object Oriented Javascript

  • Object Oriented Programming in Javascript
  • Constructor Functions and Prototypes
  • Prototype Chain
  • Prototypal Inheritance
  • ES6 Classes
  • ES6 Classes - getters and setters
  • Object.create
  • Static Methods
  • Inheritance
  • Encapsulation
  • Chaining Class Methods

Asychronous Javascript

  • Synchronous vs Asynchronous
  • Promises
  • fetch API
  • Event loop, Behind the scenes
  • Promisify
  • [ES2017] async/await
  • Promise static methods - Promise.race, Promise.all, Promise.any and Promise.allSettled
  • Comparision Promise.race vs Promise.any

Node.js

  • Basics
  • NPM and Package.json
  • Local and Global package installation
  • Cluster
  • Worker Threads
  • CLI
  • fs module
  • http module
  • Event Emitters, CaptureRejection, AbortController
  • Buffer
  • Streams, pipe/pipeline
  • Express.js framework
  • Useful inbuilt node modules

About

This contains a collection of all basic JavaScript concepts with code examples. It covers most key topics, including ES6+ features essential for understanding the modern javascript language fundamentals.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors