# Unassisted JavaScript practice, one skill at a time

> 6 JavaScript resources for recall, tracing, debugging, finding flaws, idiomatic code, and reviewing AI-generated code.

- Canonical HTML: [https://unrust.dev/languages/javascript](https://unrust.dev/languages/javascript)
- Markdown representation: [https://unrust.dev/languages/javascript/index.md](https://unrust.dev/languages/javascript/index.md)

## JavaScript resources

- [JavaScript Code Recall Practice for Developers](https://unrust.dev/languages/javascript/code-recall/index.md): Practice JavaScript code recall with small, useful transformations that exercise array methods, guard clauses, and value flow without treating API memorization as a test of worth.
- [JavaScript Debugging Practice for Developers](https://unrust.dev/languages/javascript/debugging/index.md): Debug JavaScript with a concrete reproduction, targeted state observations, and checks for coercion, asynchronous timing, and mutation before trying broad fixes.
- [Find JavaScript Logic Flaws Before Shipping](https://unrust.dev/languages/javascript/find-the-flaw/index.md): Find JavaScript logic flaws by comparing branch conditions with the contract and testing boundaries where truthiness, indexes, and optional values change behavior.
- [JavaScript Code Tracing Practice for Developers](https://unrust.dev/languages/javascript/code-tracing/index.md): Trace JavaScript execution by following values, aliases, mutations, closures, and asynchronous boundaries instead of relying on a top-to-bottom impression of the code.
- [Writing Idiomatic JavaScript with Clear Intent](https://unrust.dev/languages/javascript/idiomatic-code/index.md): Use idiomatic JavaScript to make intent visible through clear collection transforms, explicit guards, and local conventions rather than compact but opaque expressions.
- [Reviewing AI-Generated JavaScript Code](https://unrust.dev/languages/javascript/reviewing-ai-generated-code/index.md): Review AI-generated JavaScript by verifying runtime assumptions, async boundaries, mutations, and package APIs against the actual application contract and tests.

Next step: [Take the free diagnostic](https://unrust.dev/diagnostic/index.md)
