JavaScript Fundamentals

Sometimes affection, sometimes fearsome.

Table of contents

No heading

No headings in the article.

JavaScript! It's an affection of some software developers. I don’t need to introduce this language differently. It is the most widely used language in the software industry. JavaScript is easy to learn. Possible to develop an application without lots of effort. That’s why sometimes we don’t care about its fundamentals deeply. So we have some misconceptions about JavaScript fundamentals. So I am planning to write a series of blogs on its fundamentals and other features. I will write on fundamentals, DOM, client storage, asynchronous JavaScript, error handling, OOP (Object Oriented Programming), and the introduction of ES6 and ES10.

Fundamentals:

  • Introduction of compiler and interpreter
  • Just in time compiler (JIT)
  • JavaScript engine
  • Compiling and polyfill
  • Execution context
  • JavaScript Scope
  • JavaScript Hoisting
  • Closures
  • Callback and higher-order functions
  • This (this) keyword
  • Call by value and call by reference
  • IIFE (immediately invoked function expression)
  • Pure function
  • Use Strict
  • Call, bind, and apply
  • Array and array methods

Document Object Model (DOM)

  • Document and window object
  • Query selectors
  • Difference between getElement and query selector
  • DOM traverse
  • Content in the element
  • Update and remove the DOM element
  • Child element
  • Event capture vs bubbles
  • Event delegation and propagation
  • Input element and event handling
  • Form handle and validation

Client Storage

  • Cookies
  • Local storage
  • Session

Asynchronous

  • What is asynchronous JavaScript?
  • How to handle asynchronous?
  • Ajax
  • Event loop

Error handling

  • JavaScript error handling
  • Try, catch, and final
  • Error through

Object Oriented Programming (OOP)

  • OOP in JavaScript
  • Object property and method
  • Class in JavaScript
  • Constructor
  • New keyword
  • Abstraction
  • Polymorphism
  • Use case of getter and setter
  • Prototype and prototypical inheritance
  • Multilevel inheritance

JavaScript ES6

  • ES6 and tooling
  • Let, const, literals and destructuring
  • Spread operator, rest, and default parameter
  • Arrow function
  • Find, fill
  • For of and for in
  • Class
  • Symbols
  • Iterators and generators
  • Promises and async/await
  • Maps and sets
  • Proxies and reflection
  • Number and math
  • Array and object
  • Modules and string padding
  • Exponential operator and trailing comma
  • Objects.keys(), object.values() and object.entries()
  • Array.prototype.includes()
  • Array.flat() and Array.flatMap()
  • Global this
  • Optional chaining and nullish coalescing operator

Did you find this article valuable?

Support Deep Dive with Kader by becoming a sponsor. Any amount is appreciated!