This repository is a comprehensive collection of JavaScript concepts, explained with examples and documentation.
It is designed as a personal knowledge base and a practical reference for developers who want to understand JavaScript deeply, from basics to advanced topics.
JavaScript is the backbone of modern web development, both in browsers and on servers (Node.js).
This repo covers the most important JavaScript fundamentals, advanced concepts, and runtime behaviors with hands-on code and explanations.
With this, you can:
- Strengthen your core language fundamentals (variables, types, functions).
- Master asynchronous programming (callbacks, promises, async/await, event loop).
- Explore object-oriented and functional programming in JS.
- Understand memory management, scope, closures, and hoisting.
- Practice modern ES6+ features and design patterns.
Each concept is organized in its own folder with:
- Example programs (
.js
files) - A short README.md explaining the concept
javascript-core-concepts/
│
├── basics/ # Variables, data types, operators
├── control_flow/ # If-else, switch, loops
├── functions/ # Functions, closures, higher-order
├── objects_arrays/ # Objects, arrays, destructuring, prototypes
├── this_keyword/ # this keyword, call/apply/bind
├── async_js/ # Callbacks, promises, async/await, microtasks
├── event_loop/ # Event loop phases, micro vs macrotasks
├── dom_browser/ # DOM manipulation, events, forms, localStorage
├── error_handling/ # try/catch, custom errors, finally
├── es6_plus/ # ES6+ features: classes, modules, generators
├── advanced/ # Currying, memoization, functional programming
├── design_patterns/ # Singleton, factory, observer, module pattern
├── memory/ # Hoisting, scope chain, closures, GC, leaks
-
Clone this repository:
git clone https://github.com/harshitclub/javascript-core-concepts.git cd javascript-core-concepts
-
Navigate to any concept folder, for example:
cd async_js node promises.js
-
Check the README.md inside that folder for explanation.
Maintained by Harshit Kumar – Full Stack Developer
This repo is part of my journey to master JavaScript internals, browser APIs, and advanced concepts.