JSE™ Exam Syllabus

Exam: JSE™ – Certified Entry-Level JavaScript Programmer

Exam Version: JSE-40-01

Status: ACTIVE

The JSE exam consists of 30 single-select and multiple-select items that assess a candidate’s grasp of JavaScript fundamentals: core syntax, variables and data types, operators, user interaction, control flow, functions (including arrow functions and simple callbacks), and basic debugging and exception handling.

Each item is worth a maximum of 10 points. After completion, the candidate’s raw score is normalized and presented as a percentage.

The exam is organized into six blocks aligned with essential entry-level JavaScript skills. Block weights indicate the relative importance of each area in the overall exam.

JSE-40-01 Badge

The table below summarizes the distribution of exam items and their respective weight in the total exam score.

Block Number

Block Name

Number of Items

Weight

1

Basics of JavaScript and Computer Programming

3

8%


2

Variables, Data Types, and Type Casting

6

20%


3

Operators and User Interaction

5

18%


4

Control Flow – Conditional Execution and Loops

6

21%


5

Functions

6

21%


6

Errors, Exceptions, Debugging, and Troubleshooting

4

12%


 

TOTAL

30

100%

Exam Syllabus

Last updated: September 22, 2025

Aligned with Exam JSE-40-01

Exam Syllabus Contents


Block 1: Basics of JavaScript and Computer Programming

3 objectives covered by the block → 3 exam items

1.1 Fundamental Terms and Definitions (1)

Objective 1.1.1 Understand fundamental terms and definitions

  1. differentiate interpreting vs. compilation and interpreter vs. compiler.
  2. recognize client-side vs. server-side programming contexts.

1.2 Programming Environment Setup (1)

Objective 1.2.1 Set up the programming environment

  1. identify basic development tools (editor, console, debugger).
  2. contrast online vs. local setups.

1.3 Client-Side Execution (1)

Objective 1.3.1 Explain client-side execution of JavaScript code

  1. recall HTML fundamentals and ways to embed scripts.
  2. execute simple code in the browser console.

Block 2: Variables, Data Types, and Type Casting

6 objectives covered by the block → 6 exam items

2.1 Variables (1)

Objective 2.1.1 Use variables effectively

  1. name, declare, and initialize variables; update values; use constants.
  2. explain scope (blocks), shadowing, and hoisting at a basic level.

2.2 Primitive Types I (1)

Objective 2.2.1 Define, identify, and use primitive data types: boolean, number, bigint, undefined, null

  1. describe ranges and formats for numbers and bigints.
  2. differentiate boolean, null, and undefined.

2.3 Primitive Types II – Strings (1)

Objective 2.3.1 Define, identify, and use the string type

  1. write string literals (single/double quotes), escapes, and interpolation.
  2. apply basic APIs: length, charAt, slice, split.

2.4 Type Casting (1)

Objective 2.4.1 Perform type-casting operations

  1. convert with constructors: String, Number, BigInt, Boolean.
  2. explain primitive vs. implicit conversions.

2.5 Objects (1)

Objective 2.5.1 Define, identify, and use complex data types: Object

  1. treat objects as records; declare literals; get/set properties.

2.6 Arrays (1)

Objective 2.6.1 Define, identify, and use complex data types: Array

  1. use basic properties/methods: length, indexOf, push, unshift, pop, shift, reverse, slice, concat.

Block 3: Operators and User Interaction

5 objectives covered by the block → 5 exam items

3.1 Assignment, Arithmetic, and String Operators (1)

Objective 3.1.1 Recognize and use assignment, arithmetic, and string operators

  1. apply assignment and compound assignment operators.
  2. perform arithmetic operations and simple string concatenation.

3.2 Logical and Comparison Operators (1)

Objective 3.2.1 Identify and use logical and comparison operators

  1. use logical operators to combine conditions.
  2. compare values safely with equality/relational operators.

3.3 Other Operators (1)

Objective 3.3.1 Recognize and use the ternary and other operators

  1. apply the conditional (ternary) operator.
  2. use typeof, instanceof, and delete in basic scenarios.

3.4 Operator Precedence (1)

Objective 3.4.1 Understand and implement operator precedence

  1. explain precedence/associativity; enforce order with parentheses.

3.5 User Interaction (1)

Objective 3.5.1 Implement simple user interaction

  1. use dialog boxes: alert, confirm, prompt; act on user input.

Block 4: Control Flow – Conditional Execution and Loops

6 objectives covered by the block → 6 exam items

4.1 if Statements (1)

Objective 4.1.1 Implement decision making with if

  1. write if and if...else; compose multiple and nested conditions.

4.2 switch Statements (1)

Objective 4.2.1 Implement decision making with switch

  1. use switch/case for multi-branch control.

4.3 while, do...while, break, continue (1)

Objective 4.3.1 Control repetition with while-family loops

  1. repeat code with entry/exit condition loops; use break/continue safely.

4.4 for Loops (1)

Objective 4.4.1 Control repetition with for

  1. iterate with for to process ranges and collections.

4.5 for...in (1)

Objective 4.5.1 Enumerate object keys with for...in

  1. loop over enumerable properties; understand typical usage and caveats.

4.6 for...of (1)

Objective 4.6.1 Traverse arrays with for...of

  1. iterate array elements and other iterable values.

Block 5: Functions

6 objectives covered by the block → 6 exam items

5.1 Function Basics (1)

Objective 5.1.1 Organize and decompose code using functions

  1. declare/call functions, pass arguments, and return results.

5.2 Scope and Parameters (1)

Objective 5.2.1 Implement interactions between a function and its environment

  1. use parameters and local variables; explain shadowing.

5.3 Function Expressions & First-Class Functions (1)

Objective 5.3.1 Apply function expressions and first-class patterns

  1. store functions in variables; pass as arguments; use named/anonymous expressions.

5.4 Recursion (1)

Objective 5.4.1 Understand and implement recursion

  1. solve simple problems with self-calling functions.

5.5 Callback Functions (1)

Objective 5.5.1 Explain and implement callback functions

  1. use synchronous/asynchronous callbacks with setTimeout and setInterval.

5.6 Arrow Functions (1)

Objective 5.6.1 Explain and implement arrow functions

  1. write arrow syntax; pass arguments; use concise bodies.

Block 6: Errors, Exceptions, Debugging, and Troubleshooting

4 objectives covered by the block → 4 exam items

6.1 Programming Errors (1)

Objective 6.1.1 Classify and distinguish programming errors

  1. differentiate syntax, semantic, logic, and runtime errors.

6.2 JavaScript Errors & Exceptions (1)

Objective 6.2.1 Compare and contrast JavaScript error types

  1. recognize SyntaxError, ReferenceError, TypeError, RangeError.

6.3 Exception Handling (1)

Objective 6.3.1 Understand and design exception-handling mechanisms

  1. handle with try...catch...finally; throw custom errors with throw.

6.4 Debugging Techniques (1)

Objective 6.4.1 Use basic debugging and troubleshooting techniques

  1. step through code, inspect/modify variables, and measure execution time.

Download JSE-40-01 Exam Syllabus in PDF

MQC Profile

A Minimally Qualified Candidate (MQC) for the JSE exam is an individual with foundational knowledge of JavaScript programming. The candidate can write small scripts, work with variables and data types, use operators, gather simple user input, control program flow with conditionals and loops, decompose tasks into functions, and perform basic debugging and error handling.

The MQC understands environment setup, client-side execution, primitives and arrays/objects, type casting, operator precedence, dialog-based input, core control structures (if, switch, loops), function definitions and expressions (including arrow functions and simple callbacks), and basic exceptions and troubleshooting.

Block 1: Basics of JavaScript and Computer Programming

Minimum Coverage – the candidate can:

  • explain interpreting vs. compilation and client- vs. server-side contexts.
  • set up a simple environment and run scripts in a page or console.

Block 2: Variables, Data Types, and Type Casting

Minimum Coverage – the candidate can:

  • declare variables/constants, understand scope and shadowing.
  • use primitives (boolean, number, bigint, string, null, undefined) and arrays/objects.
  • perform explicit and basic implicit conversions.

Block 3: Operators and User Interaction

Minimum Coverage – the candidate can:

  • apply arithmetic, assignment, comparison, and logical operators with correct precedence.
  • use alert, confirm, and prompt to gather input and act on it.

Block 4: Control Flow – Conditional Execution and Loops

Minimum Coverage – the candidate can:

  • write decisions with if/switch and iterate with while, do...while, for, for...in, for...of.

Block 5: Functions

Minimum Coverage – the candidate can:

  • define/call functions, pass arguments, return values, and use scope correctly.
  • use function expressions, arrow functions, simple recursion, and callbacks.

Block 6: Errors, Exceptions, Debugging, and Troubleshooting

Minimum Coverage – the candidate can:

  • identify error types, handle exceptions with try...catch...finally, throw errors, and debug with basic tools.

Passing Requirement

To pass the JSE exam, a candidate should achieve a cumulative average score of at least 70% across all exam blocks.