JavaScript: language and application diagnosis
Learn JavaScript through values, objects, modules, promises and browser integration. Practice code reading and diagnosis with original questions and cases.
Modules and lessons
Open a lesson to begin. Follow the sequence or revisit any concept.
Values, conversions and numeric contracts
Distinguish type, conversion and validity; preserve zero, text identity and numeric bounds at application boundaries.
45 minBindings, functions and closures
Analyze captured bindings, parameters and receivers so later callbacks observe the intended state.
50 minObjects, identity and property boundaries
Analyze identity, own properties, copies and mutation boundaries to preserve contracts between objects.
50 minArrays, collections and iteration
Choose iteration, identity and ordering rules that preserve data, positions and results in collections.
50 minErrors, validation and failure contracts
Distinguish syntax, schema and operational errors; preserve context and avoid publishing partial changes after rejection.
50 minJSON, text and time contracts
Preserve identity and meaning across JSON, Unicode text and dates with explicit offsets.
50 minPromises, async and error propagation
Connect promises, dependencies and outcomes; identify work escaping the chain and distinguish deadlines from cancellation.
55 minBrowser events, HTTP and cancellation
Connect events and HTTP responses to data and interface contracts; control stale results and interpret cancellation scope.
55 minModules and runtime boundaries
Interpret imports and exports as contracts between modules; distinguish live bindings, snapshots and host loading rules.
50 minState, ordering and integration diagnosis
Integrate data contracts, copying and asynchronous order to diagnose incorrect outcomes and prepare local changes without partial publication.
60 minObjectives and progression
Learn JavaScript through values, objects, modules, promises and browser integration. Practice code reading and diagnosis with original questions and cases.
Audience
JavaScript learners and development or support teams needing to interpret code and justify integration decisions.
Prerequisites
Basic familiarity with variables, conditions and functions. Lessons explain the concepts used; installing tools or executing code is not required to answer assessments.
What you will learn
- Distinguish conversions, equality, references and snapshots.
- Validate data and interpret errors, text and instants through explicit contracts.
- Trace promises, cancellation and result publication order.
- Diagnose modules and boundaries between language and host.
What is available
10 lessons · 100 regular questions · 20 cases
Internal final assessment: 40 exercises in 90 minutes. Full mock exams are not yet available.
Assessments and mock exams reuse path exercises. They do not award certifications or guarantee passing an external exam.
Scope, review and limitations
Ten lessons with 100 regular questions and 20 original cases. Learn to interpret values, objects, collections, errors, JSON, time, promises and modules, connecting data contracts to browser result publication. All assessments use single or multiple choice with excerpts and scenarios, without code execution. The final assessment reuses 40 course items in 90 minutes. The language reference is ECMAScript 2026, 17th edition; DOM, events and fetch are identified as browser APIs. Separate TypeScript, React and Angular paths are planned.
Internal 40-question assessment in 90 minutes, reusing course items, with single or multiple choice and no code execution. It is not an official exam and awards no external certification.
Independent education and assessment with original questions and scenarios. No affiliation, authorization, sponsorship or endorsement by Ecma International, Oracle or Mozilla, and no official certification award. Technology names identify the course subjects; all trademarks belong to their respective owners.
References and version
Find the sources, content version and scope of this path.
Path content version
ECMAScript 2026 (17th edition); browser APIs identified separately
Content reviewed on 13 Oct 2026
Learning sources
- ECMA-262: ECMAScript 2026, 17th editionConsulted on 13 Oct 2026
- Grammar and typesConsulted on 13 Oct 2026
- ToBooleanConsulted on 13 Oct 2026
- ToNumber and string numeric grammarConsulted on 13 Oct 2026
- IsStrictlyEqualConsulted on 13 Oct 2026
Show 71 more references
- SameValueConsulted on 13 Oct 2026
- Number.isSafeIntegerConsulted on 13 Oct 2026
- Number.isNaNConsulted on 13 Oct 2026
- Number.isFiniteConsulted on 13 Oct 2026
- parseIntConsulted on 13 Oct 2026
- ApplyStringOrNumericBinaryOperatorConsulted on 13 Oct 2026
- CreatePerIterationEnvironmentConsulted on 13 Oct 2026
- Function.prototype.bindConsulted on 13 Oct 2026
- Equality comparisons and samenessConsulted on 13 Oct 2026
- Nullish coalescing operatorConsulted on 13 Oct 2026
- ClosuresConsulted on 13 Oct 2026
- Default parametersConsulted on 13 Oct 2026
- Arrow function expressionsConsulted on 13 Oct 2026
- Functions: parameters and invocation contextConsulted on 13 Oct 2026
- Object.hasOwnConsulted on 13 Oct 2026
- CopyDataPropertiesConsulted on 13 Oct 2026
- SetIntegrityLevelConsulted on 13 Oct 2026
- Array.prototype.mapConsulted on 13 Oct 2026
- Array.prototype.reduceConsulted on 13 Oct 2026
- Array.prototype.includesConsulted on 13 Oct 2026
- Map.prototype.setConsulted on 13 Oct 2026
- Set.prototype.addConsulted on 13 Oct 2026
- Array.prototype.sort and comparison operationsConsulted on 13 Oct 2026
- Array.prototype.toSortedConsulted on 13 Oct 2026
- Array.prototype.fillConsulted on 13 Oct 2026
- Array.fromConsulted on 13 Oct 2026
- PrivateGetConsulted on 13 Oct 2026
- Array.prototype.indexOfConsulted on 13 Oct 2026
- CreateMapIteratorConsulted on 13 Oct 2026
- DestructuringConsulted on 13 Oct 2026
- Spread syntaxConsulted on 13 Oct 2026
- Optional chainingConsulted on 13 Oct 2026
- Object.freezeConsulted on 13 Oct 2026
- for...ofConsulted on 13 Oct 2026
- Array iterator nextConsulted on 13 Oct 2026
- JSON.parseConsulted on 13 Oct 2026
- JSON.stringifyConsulted on 13 Oct 2026
- Number.isIntegerConsulted on 13 Oct 2026
- String.prototype.normalizeConsulted on 13 Oct 2026
- Date.parseConsulted on 13 Oct 2026
- The try statementConsulted on 13 Oct 2026
- The throw statementConsulted on 13 Oct 2026
- InstallErrorCauseConsulted on 13 Oct 2026
- Error constructorConsulted on 13 Oct 2026
- Date.prototype.toISOStringConsulted on 13 Oct 2026
- Date.prototype.toJSONConsulted on 13 Oct 2026
- String exotic objectsConsulted on 13 Oct 2026
- String iteratorConsulted on 13 Oct 2026
- RegExpBuiltinExecConsulted on 13 Oct 2026
- Array.isArrayConsulted on 13 Oct 2026
- Promise.prototype.thenConsulted on 13 Oct 2026
- Promise.prototype.finallyConsulted on 13 Oct 2026
- Promise.allConsulted on 13 Oct 2026
- Promise.allSettledConsulted on 13 Oct 2026
- Promise.raceConsulted on 13 Oct 2026
- AwaitConsulted on 13 Oct 2026
- NewPromiseReactionJobConsulted on 13 Oct 2026
- Array.prototype.forEachConsulted on 13 Oct 2026
- Async functionsConsulted on 13 Oct 2026
- Using FetchConsulted on 13 Oct 2026
- Removing event listenersConsulted on 13 Oct 2026
- Preventing default event actionsConsulted on 13 Oct 2026
- Node textContentConsulted on 13 Oct 2026
- Event currentTargetConsulted on 13 Oct 2026
- CreateImportBindingConsulted on 13 Oct 2026
- Module environment GetBindingValueConsulted on 13 Oct 2026
- Module namespace SetConsulted on 13 Oct 2026
- EvaluateImportCallConsulted on 13 Oct 2026
- Module environment GetThisBindingConsulted on 13 Oct 2026
- JavaScript modulesConsulted on 13 Oct 2026
- Import declarations and resolutionConsulted on 13 Oct 2026
Independent preparation. Check the objectives, available content and coverage limits when planning your study.
Independent education and assessment with original questions and scenarios. No affiliation, authorization, sponsorship or endorsement by Ecma International, Oracle or Mozilla, and no official certification award. Technology names identify the course subjects; all trademarks belong to their respective owners.
Independent path with no affiliation, sponsorship or endorsement by Ecma International, Oracle or Mozilla. Technology names identify the content; all trademarks belong to their respective owners.