JSA – Certified Associate JavaScript Programmer Certification

Overview

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.

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.

Becoming 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.

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), JSPa – Certified Professional JavaScript Programmer: Front-End Web Development (JSPa-42A-0x), and JSPb – Certified Professional JavaScript Programmer: Back-End Web Development (JSPb-42B-0x)
Pre-requisites Formal: None
Recommended: JSE – Certified Entry-Level JavaScript Programmer (JSE-40-0x)
Duration 65 minutes – Tutorial/NDA: 5 minutes, Exam: 60 minutes
Number of Exam Items 40
Format Single-selection and multiple-selection items
Passing Score 70%
Language English
Courses Aligned JavaScript Essentials 2:
Price $295
Purchase exam voucher
Delivery Channel OnVUE Online Proctoring (online, proctored), Pearson VUE Testing Centers (on-site, proctored)
Testing Policies JSA Exam Policy
Exam Syllabus JSA Exam Syllabus

Exam Objectives

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

  • be able to create objects using a variety of techniques, including literals, constructors and factories;
  • be able to refer to object fields, including nested ones, with both dot notation and bracket notation;
  • be able to alter objects as required, including by adding, deleting, and modifying properties and methods;
  • know how to verify the presence of object fields, enumerate them, and influence the configuration of an object and individual fields (e.g. by blocking the possibility to modify them)
  • understand that objects are stored in variables as references and know how this affects manipulating them in practice (e.g. when comparing objects)
  • know what the context of a method call is and be able to use the keyword this in practice;
  • understand what an object prototype is, what inheritance using a chain of prototypes is and how it can be used, for example, to modify the properties of a group of related objects.

  • be able to declare classes, including using the class expression technique, and create objects using them;
  • be able to define properties both from the class methods and directly in the class body;
  • understand the idea of class inheritance and be able to use it in practice;
  • be able to create and use static methods and properties of classes;
  • be able to define getters and setters in classes.

  • be familiar with the basic set of built-in objects of the JS language;
  • understand the difference between primitive types and their corresponding wrapper objects, know the basic properties and methods of these objects, and be able to use autoboxing in practice;
  • be able to handle Array data to an advanced degree, using such methods as filtering, sorting, reducing, mapping, searching, merging, etc.
  • be able to use the destructuring assignment and spread operator in their work with arrays;
  • know in which situations objects of the Map and Set types can be used for data storage as an alternative to Array and Object, declare them, and manipulate their elements;
  • understand the JSON format and be able to convert objects and arrays to and from this format;
  • be able to use the methods provided by the built-in Math object to perform basic mathematical calculations;
  • be able to take advantage of basic regular expressions (using the RegExp type) to parse character strings;
  • be able to extend the built-in JS types with new properties and methods.

  • know and be able to use in practice such mechanisms related to functions as: Extended Parameter Handling (default parameter values, rest parameter, spread operator), Recursion (closure, first-class functions), Forwarding calls (apply, call, bind), Decorating functions (wrappers, higher order functions)
  • understand the concept of lazy evaluation, and be able to use generators and iterators in practice;
  • clearly understand when asynchronous programming techniques should be used;
  • know how to use callback functions in practice to solve problems that require asynchronous operations;
  • understand the Promise mechanism and be able to use it as an alternative to callback functions;
  • understand the operation of the async function in conjunction with the await keyword and be able to use it to handle promises.

JSA Certification Holder Profile

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

  • knows the syntax and properties of the core JavaScript language to an advanced level, which, among other things, enables them to freely operate with objects and classes;
  • is skilled in the advanced use of functions, including asynchronous programming and the use of generators and iterators;
  • knows a complete set of data types and a basic set of built-in JavaScript objects, which allows them to freely choose the means to solve algorithmic and programming problems;
  • thinks algorithmically and can analyze and model a problem using an objective conceptual apparatus;
  • designs, develops, and improves JavaScript programs using, among others, classes and objects;
  • understands a programmer's work in the software development process and the role of fundamental development tools;
  • can create and develop their own programming portfolio.