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)