Surya JS Journey
Learn JavaScript through concepts, code, and guided practice.
A focused workspace for concept study, interactive examples, visual explanations, and challenge solving.
Concept Playground
Pass by Value vs Reference Behavior
JavaScript passes function arguments by value, but for objects and arrays that value is a reference to the same underlying data. This is why changing an object inside a function can affect the original, while reassigning a number or string does not. This distinction is essential for debugging mutation bugs.
Workspace Flow
1. Edit the snippet
Change the code freely to test ideas and edge cases.
2. Run and inspect
Use the output panel to confirm behavior and catch runtime errors.
3. Reset or continue
Restore the starter or branch into your own experiment.
Practice Workspace
value-vs-reference.js
Edit the code, run it in the browser, and inspect the console output below. Reset restores the original snippet for this page.
Editor
10 lines
Output
0 entries
Mode
practice
Workspace Notes
Changes stay local until you run the code. Reset restores the original snippet immediately for another pass.
Editor Actions
Use the editor to explore the example, then run it to inspect the console.
Run the code to see output here.
Expected Output
1
2Want a blank workspace again? Go back to the default playground.