{"id":51309205,"url":"https://github.com/arundada9000/js-revision","last_synced_at":"2026-07-01T02:05:15.596Z","repository":{"id":366166583,"uuid":"1275285617","full_name":"arundada9000/js-revision","owner":"arundada9000","description":"A comprehensive JavaScript revision repository covering fundamentals, DOM manipulation, asynchronous programming, prototypes, classes, and modern ES6+ features through practical examples and interactive demos.","archived":false,"fork":false,"pushed_at":"2026-06-20T14:17:13.000Z","size":49,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-20T16:12:57.400Z","etag":null,"topics":["arundada9000","arunneupane","async-await","bind","call","es6-javascript","functions","javascript","javascript-revision","js","programming","promises","prototypes"],"latest_commit_sha":null,"homepage":"https://arun.sajilodigital.com.np","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arundada9000.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-20T13:47:24.000Z","updated_at":"2026-06-20T14:17:17.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/arundada9000/js-revision","commit_stats":null,"previous_names":["arundada9000/js-revision"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/arundada9000/js-revision","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arundada9000%2Fjs-revision","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arundada9000%2Fjs-revision/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arundada9000%2Fjs-revision/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arundada9000%2Fjs-revision/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arundada9000","download_url":"https://codeload.github.com/arundada9000/js-revision/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arundada9000%2Fjs-revision/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34989820,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-01T02:00:05.325Z","response_time":130,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arundada9000","arunneupane","async-await","bind","call","es6-javascript","functions","javascript","javascript-revision","js","programming","promises","prototypes"],"created_at":"2026-07-01T02:05:14.743Z","updated_at":"2026-07-01T02:05:15.583Z","avatar_url":"https://github.com/arundada9000.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JavaScript Revision - Learning Journey\n\n\u003e A structured collection of JavaScript examples, exercises, and interactive demos built during my JS revision journey. From variables and data types to async patterns, prototypes, classes, and DOM manipulation.\n\n\u003cdiv align=\"center\"\u003e\n\n![JavaScript](https://img.shields.io/badge/JavaScript-ES2024-F7DF1E?style=flat-square\u0026logo=javascript\u0026logoColor=black)\n![License](https://img.shields.io/badge/License-MIT-6d28d9?style=flat-square)\n![Maintained](https://img.shields.io/badge/Maintained%20By-Arun%20Neupane-6d28d9?style=flat-square)\n[![Portfolio](https://img.shields.io/badge/Portfolio-arunneupane.netlify.app-6d28d9?style=flat-square\u0026logo=netlify\u0026logoColor=white)](https://arunneupane.netlify.app)\n[![LinkedIn](https://img.shields.io/badge/LinkedIn-arundada9000-0077B5?style=flat-square\u0026logo=linkedin\u0026logoColor=white)](https://linkedin.com/in/arundada9000)\n\n\u003c/div\u003e\n\n---\n\n## Author\n\n**Arun Neupane** - Full-Stack Developer, CTO @ Sajilo Digital\n\n- GitHub: [@arundada9000](https://github.com/arundada9000)\n- Portfolio: [arunneupane.netlify.app](https://arunneupane.netlify.app)\n- Email: arunneupane0000@gmail.com\n\n---\n\n## Structure\n\n```\njs-revision/\n├── 01-basics/                    # Core JavaScript fundamentals (16 files)\n│   ├── 00_variables.js\n│   ├── 01_data_types.js\n│   ├── 02_strings.js\n│   ├── 03_objects.js\n│   ├── 04_arrays.js\n│   ├── 05_functions.js\n│   ├── 06_arrow_functions.js\n│   ├── 07_this_keyword.js\n│   ├── 08_call_apply_bind.js\n│   ├── 09_scope_closures.js\n│   ├── 10_loops_iteration.js\n│   ├── 11_destructuring_spread.js\n│   ├── 12_higher_order_functions.js\n│   ├── 13_prototypes.js\n│   ├── 14_classes.js\n│   ├── 15_error_handling.js\n│   └── 16_optional_chaining.js\n├── 02-dom/                       # DOM manipulation \u0026 events\n│   ├── 01_todo_app.html\n│   └── 02_event_propagation.html\n├── 03-async/                     # Asynchronous JavaScript\n│   ├── 01_promises.js\n│   ├── 02_async_await.js\n│   ├── 03_fetch_api.js\n│   ├── 04_intervals.html\n│   └── 05_xhr_api.html\n├── docs/\n│   └── learning-roadmap.md\n├── .github/ISSUE_TEMPLATE/\n├── README.md\n├── LICENSE\n├── CONTRIBUTING.md\n├── CODE_OF_CONDUCT.md\n└── .gitignore\n```\n\n---\n\n## Topics Covered\n\n### Basics (01-basics/)\n| # | File | Concepts |\n|---|------|----------|\n| 00 | `variables.js` | `var`, `let`, `const`, hoisting, TDZ, block scoping |\n| 01 | `data_types.js` | Primitives, reference types, `typeof`, coercion, truthy/falsy |\n| 02 | `strings.js` | Template literals, methods, manipulation |\n| 03 | `objects.js` | Object literals, properties, methods, `this`, merging |\n| 04 | `arrays.js` | `slice`/`splice`, `concat`, `flat`, `filter`, `map` |\n| 05 | `functions.js` | Declarations, expressions, arrow, rest params, closure, IIFE |\n| 06 | `arrow_functions.js` | Arrow syntax, lexical `this`, limitations |\n| 07 | `this_keyword.js` | `this` in global, method, constructor, arrow, event contexts |\n| 08 | `call_apply_bind.js` | Explicit binding, method borrowing, partial application |\n| 09 | `scope_closures.js` | Lexical scope, closures, private variables, factory functions |\n| 10 | `loops_iteration.js` | `for...of`, `for...in`, `Map`, `forEach` |\n| 11 | `destructuring_spread.js` | Object/array destructuring, spread, rest |\n| 12 | `higher_order_functions.js` | `map`, `filter`, `reduce`, `some`, `every`, `find`, chaining |\n| 13 | `prototypes.js` | Prototype chain, inheritance, `Object.create` |\n| 14 | `classes.js` | ES6 classes, `extends`, `super`, private fields, getters/setters |\n| 15 | `error_handling.js` | `try`/`catch`/`finally`, `throw`, custom errors |\n| 16 | `optional_chaining.js` | `?.`, `??`, short-circuit evaluation |\n\n### DOM (02-dom/)\n| # | File | Concepts |\n|---|------|----------|\n| 1 | `todo_app.html` | DOM CRUD, event listeners, state management, filtering |\n| 2 | `event_propagation.html` | Capture/Target/Bubble, delegation, `stopPropagation`, `preventDefault` |\n\n### Async (03-async/)\n| # | File | Concepts |\n|---|------|----------|\n| 1 | `promises.js` | Promise creation, `.then`/`.catch`, `Promise.all`, `Promise.race` |\n| 2 | `async_await.js` | `async`/`await`, `try`/`catch` with async |\n| 3 | `fetch_api.js` | `fetch()` with `.then` and `async/await` |\n| 4 | `intervals.html` | `setInterval` / `clearInterval` |\n| 5 | `xhr_api.html` | `XMLHttpRequest`, GitHub API |\n\n---\n\n## How to Use\n\n### JS files\nRun with Node.js:\n```bash\nnode 01-basics/00_variables.js\n```\n\n### HTML files\nOpen in a browser directly - no build tools required.\n\n---\n\n## Learning Path\n\n1. **Start with basics** (00 → 16) in order - each file builds on earlier ones\n2. **Move to DOM** - see JavaScript in the browser\n3. **Tackle async** - the most critical skill for modern JS\n\nSee [docs/learning-roadmap.md](docs/learning-roadmap.md) for details.\n\n---\n\n## Philosophy\n\nThis repo documents learning in public. The code is deliberately:\n- **Self-documenting** - minimal comments, meaningful names\n- **Practical** - real patterns, not just syntax\n- **Progressive** - each file builds on earlier concepts\n- **Interactive** - HTML files are visual playgrounds\n\n---\n\n## License\n\nMIT License - free and open source. Use, modify, and distribute however you want. See [LICENSE](LICENSE).\n\n---\n\n*Revision completed June 20, 2026 - from variables to async, DOM to prototypes. Every topic covered, every example run.*\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farundada9000%2Fjs-revision","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farundada9000%2Fjs-revision","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farundada9000%2Fjs-revision/lists"}