Surya JS Journey

Learn JavaScript through concepts, code, and guided practice.

A focused workspace for concept study, interactive examples, visual explanations, and challenge solving.

ChallengeIntermediate8 min

Fix a lost this binding

Repair a method callback so it logs the correct object value instead of losing context.

Update the code so the `showName` callback still logs `Surya` when passed to `setTimeout`. You can use `bind`, a wrapper function, or another correct approach.

Challenge Brief

Solve the exercise by editing the starter code and running it in the panel. Compare your result against the expected outcome, then refine your solution until the behavior matches.

  1. 1. Read the prompt carefully and identify the missing behavior.
  2. 2. Update only the parts of the starter code needed to solve it.
  3. 3. Run the code and compare actual output with the expected result.

Hints

  • The callback loses its object context when passed directly.
  • Use `bind` or wrap the method call in another function.
  • The final output should still come from `showName`.

Challenge Workspace

this-binding-fix.js

Edit the code, run it in the browser, and inspect the console output below. Reset restores the original snippet for this page.

Editor

8 lines

Output

0 entries

Mode

challenge

Workspace Notes

Changes stay local until you run the code. Reset restores the original snippet immediately for another pass.

Live editing

Safe to change before every run.

Fast reset

Return to the original starter instantly.

this-binding-fix.js
8 linesMonaco Editor
Loading...

Editor Actions

Run your solution and compare the result with the expected challenge output.

Console0 entries

Run the code to see output here.

Challenge Result

Run the code to check whether your solution matches the expected outcome.

Expected Output

Surya

Continue in Playground

Open this starter code in the shared playground if you want a focused space for experimenting outside the challenge page.

Open in Playground