DEV Community

Mohiuddin Abdul Kader
Mohiuddin Abdul Kader

Posted on • Edited on

JavaScript Fundamentals

JavaScript! you know that. 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), 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 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

Top comments (0)