Overview

JSA™ – Certified Associate JavaScript Programmer Certification

JSA™ – Certified Associate JavaScript Programmer certification is a professional credential that demonstrates the candidate’s proficiency in Object-Oriented Analysis, Design and Programming (OOA/OOD/OOP), as well as the more advanced use of functions in the JavaScript language.

JSA Badge

The certification holder understands the Object-Oriented Programming approach to JavaScript (objects: literals, properties, dot and bracket notation, property existence tests, property enumeration; object features: references; methods, property/object configuration, prototypes; classes: design, declarations, properties, getters, setters, inheritance, static members, constructors), is skilled in the advanced use of built-in objects, including simple data types and their constructors, composite data types, and some of the most useful objects (JSON, Math, RegExp, extending built-in types), is proficient in using the mechanism of advanced functions in JavaScript, such as recursion, forwarding calls, decorators, functional programming, generators, iterators, and asynchronous programming, including callback functions and promises.

Moreover, the certified individual knows how to adopt the best programming practices, techniques, and conventions in JavaScript programs; thinks algorithmically, analyzes and models problems using an objective conceptual apparatus; understands the role and work of a programmer in the software development process, and knows how to use the most fundamental development tools.

JSA certified ensures that the individual is acquainted with the essential means provided by the JavaScript language to enable them to design, develop, deploy, refactor, and maintain JavaScript programs and applications; analyze and model real-life problems in Object-Oriented Programming categories; create and develop their own programming portfolio; and start their own studies at a professional level, and to continue their further professional development.

JSA Certification

Exam Specifications

Exam Information
Description


Exam Name
JSA™ – Certified Associate JavaScript Programmer


Exam Short Form
JSA


Exam Code/Current Exam Version
JSA-41-0x/JSA-41-01


Exam Level
Associate


Associated Certifications
JSE™ – Certified Entry-Level JavaScript Programmer (JSE-40-0x)


Pre-requisites
Formal: None
Recommended: JSE – Certified Entry-Level JavaScript Programmer (JSE-40-01)


Duration
65 minutes – Tutorial/NDA: 5 minutes, Exam: 60 minutes


Number of Exam Items
40


Format
Single-select and multiple-select items


Passing Score
70%


Language
English


Courses Aligned


Price
From $295 – Purchase exam voucher


Delivery Channel
OnVUE Online Proctoring (online, proctored), Pearson VUE Testing Centers (on-site, proctored), TestNow™ (online, proctored)


Testing Policies
JSA Exam Policy


Exam Syllabus
JSA Exam Syllabus




Exam Scope

The JSA – Certified Associate JavaScript Programmer certification exam covers the following topic areas and measures the following skills:

  • Create objects using literals, constructor functions, factories, and Object.create();
  • Refer to properties (including nested) with dot and bracket notation; add, modify, and delete properties and methods;
  • Verify property presence and enumerate keys/values safely using in, for...in (own-filtered), and Object.keys/values/entries;
  • Understand reference identity vs. deep comparison and how this affects object equality and mutation;
  • Copy and clone objects using references, Object.assign(), spread, and deep-clone strategies;
  • Define methods and use the this context correctly in method calls;
  • Implement getters and setters to validate or compute state;
  • Configure objects and properties via descriptors and mutability controls (Object.defineProperty, preventExtensions, seal, freeze);
  • Apply prototypal inheritance, recognize [[Prototype]]/__proto__, work with Function.prototype, and set prototypes with Object.setPrototypeOf;
  • Declare classes with constructors, fields, and methods; use class expressions and treat classes as first-class values;
  • Instantiate objects with new and verify relationships using instanceof;
  • Define and initialize class fields in constructors or with class field syntax;
  • Create getters and setters inside classes for computed/validated properties;
  • Implement inheritance with extends, override members, and call parent logic via super;
  • Define and use static properties and methods on the class itself;
  • Relate class syntax to constructor/prototype patterns and understand their equivalence;
  • Use Number for conversions and formatting; apply key static properties and methods;
  • Manipulate strings (case, split, search/replace, pad/trim, compare) with String APIs;
  • Construct and manipulate dates/times with Date, handle UTC vs. local time, measure elapsed time;
  • Work with arrays: create, merge, add/remove, slice/splice, spread, and destructure;
  • Apply functional array methods: find, every, some, filter, sort, map, reduce;
  • Use Set for unique collections: construct, add/has/delete/clear/size, iterate, and spread;
  • Use Map for key–value collections: construct, set/get/has/delete/clear/size, and iterate;
  • Model dictionaries with plain objects and iterate entries effectively;
  • Serialize and parse data with JSON.stringify and JSON.parse;
  • Perform calculations with Math (rounding, random, min/max, abs, pow, log, trig);
  • Use regular expressions via RegExp and string methods (test, exec, match, search, replace);
  • Extend built-in prototypes responsibly and understand the risks of doing so;
  • Handle parameters with defaults, rest, and spread; simulate named parameters with objects/destructuring;
  • Use closures and Immediately Invoked Function Expressions (IIFEs);
  • Control call context and forwarding with call, apply, and bind;
  • Compose decorators and higher-order functions; pass/return functions;
  • Create and consume generators; implement custom iterables and iterators;
  • Design asynchronous flows with callbacks and handle errors appropriately;
  • Create and chain promises; handle outcomes with then, catch, and finally;
  • Apply promise patterns such as Promise.all, Promise.any, and Promise.race;
  • Write async functions and manage control flow with await and try/catch;
  • Perform asynchronous network requests using XMLHttpRequest and the Fetch API;

JSA™ Certification Holder Profile

The holder of the JSA™ – Certified Associate JavaScript Programmer certification demonstrates the following skills and expertise: