Skip to content
Foxipa
Code Completion 5 Challenges

JavaScript Execution Model: Contexts, Realms, Jobs & Agents — Code Completion

Practice execution-model concepts with small JavaScript completions.

Challenge 1

Inspect the current function call stack.

javascript Your answer
function work() {
  return new Error().stack;
}
console.log(work());

Press Ctrl⌘Enter to check your answer

Challenge 2

Create an independent Realm-like global using a browser frame.

javascript Your answer
const frame = document.createElement("iframe");
document.body.append(frame);
console.log(frame.contentWindow.Array === Array);

Press Ctrl⌘Enter to check your answer

Challenge 3

Schedule a Promise reaction as a Job.

javascript Your answer
Promise.resolve(42).then(value => console.log(value));

Press Ctrl⌘Enter to check your answer

Challenge 4

Read shared memory atomically.

javascript Your answer
const view = new Int32Array(new SharedArrayBuffer(4));
Atomics.store(view, 0, 9);
console.log(Atomics.load(view, 0));

Press Ctrl⌘Enter to check your answer

Challenge 5

Preserve synchronous-before-job ordering.

javascript Your answer
const order = [];
Promise.resolve().then(() => order.push("job"));
order.push("sync");
setTimeout(() => console.log(order.join(",")), 0);
// output: sync,job

Press Ctrl⌘Enter to check your answer