Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JavaScript — My Learning Journey

Welcome — this repository is a personal collection of JavaScript exercises, notes, and small browser demos I made while learning core JavaScript concepts. It's organized by topic so you can find short examples, interview-style questions, and runnable snippets quickly.


At a glance

  • Primary language: JavaScript
  • Secondary: HTML, CSS (small demos)
  • No external dependencies or build tools detected (no package.json)

Top-level structure (selected)

This is a short, annotated tree of the important files and folders in this repo:

Call, apply & bind/        - call/apply/bind examples + polyfills and prediction tests
Closures/                  - Questions.txt and closure.js examples
Currying/                  - currying examples
DOM_JS/                    - browser demos (DOM_JS/index.html, script.js, button examples)
Debounce/                  - debounce utilities / examples
Map,FIlter,Reduce/         - map/filter/reduce exercises (ArrayOfObjectQuestion.js)
Objects/                   - object-focused examples (destructuring, deep/shallow copy, reference, etc.)
Promises/                  - callbacks, promises, async/await examples and Questions.txt
Sheriyens_Interview_Question/ - interview-style question collection
this/                      - examples showing `this` behavior
index.html                 - root HTML demo (static)
Many standalone .js files   - small exercises and interview snippets (reverseString.js, missing-number.js, vowels.js, DecimalAddition.js, etc.)
README.md                  - (this file)

For more details about each folder, open the included Questions.txt files — they explain the exercise and expected behavior for many examples.


Representative files & where to start

  • Browser demo: DOM_JS/index.html — open in a browser or use Live Server in VS Code.
  • Promises & async: Promises/async_await.js, Promises/promise_combinators.js — run with node to see output.
  • Objects: Objects/object.js, Objects/reference.js, Objects/DeepCopy.js, Objects/ShallowCopy.js — learn object behavior and copying.
  • Call / Apply / Bind: Call, apply & bind/call.js, .../apply.js, .../bind.js and their _polyfill.js variants — see implementations and effect on this.
  • Closures: Closures/closure.js and Closures/Questions.txt — typical closure problems and explanations.
  • Array utilities: Map,FIlter,Reduce/ArrayOfObjectQuestion.js, Map.js — practice functional array methods.
  • Small algorithmic exercises: missing-number.js, reverseString.js, DecimalAddition.js, vowels.js — good for interview prep.

How to run examples

No build step required — most examples are single-file scripts or static HTML.

Clone the repo:

git clone https://github.com/shubhs12102005/Javascript.git

Open the browser demo:

  • Open DOM_JS/index.html in a browser or run a live server (VS Code Live Server recommended).

Run Node examples locally:

node Promises/async_await.js
node Objects/object.js
node missing-number.js

Tip: some small files are named with .js.js (e.g., Async_Await.js.js) — they are still plain JavaScript and can be run with node.


Conventions & notes

  • Files are short, focused, and usually runnable directly with Node or the browser.
  • Many folders include a Questions.txt that describes typical interview questions and the goal of the exercises — read those before running the scripts.
  • There is no package.json or test harness at the moment — everything is designed for local exploration.

Suggestions (optional improvements)

If you'd like the repo to be easier to use by others, I can make one (tell me which):

  • Add a package.json with convenience npm scripts, e.g.:
{
  "name": "javascript-learning",
  "scripts": {
    "start:demo": "live-server DOM_JS",
    "run:promises": "node Promises/async_await.js"
  }
}
  • Move top-level loose .js exercises into topic folders (e.g., move reverseString.js, missing-number.js into an algorithms/ folder) for clearer organization.
  • Add a CONTRIBUTING.md and small README inside large folders (Objects/, Promises/) with one-line run instructions.

License

This is a personal learning repository. Add a license if you want others to reuse the code (MIT is a common choice).


Contact / About me

Happy learning — keep experimenting and committing small, focused examples. If you want, I can also:

  • Add the package.json and npm scripts described above,
  • Reorganize files into clearer topic folders,
  • Add small README files inside high-level folders with one-line run instructions.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages