Advanced Output Traps

Preview — 3 of 10 questions

What is the output?

javascript
console.log("start");

setTimeout(() => console.log("timeout"), 0);

Promise.resolve()
  .then(() => console.log("promise 1"))
  .then(() => console.log("promise 2"));

queueMicrotask(() => console.log("microtask"));

console.log("end");
Astart end timeout promise 1 promise 2 microtask
Bstart end promise 1 microtask promise 2 timeout
Cstart end promise 1 promise 2 microtask timeout
Dstart end microtask promise 1 promise 2 timeout

What is the output?

javascript
async function fetchData() {
  console.log("A");
  const result = await Promise.resolve("data");
  console.log("B");
  return result;
}

console.log("C");
fetchData().then((v) => console.log("D:", v));
console.log("E");
AC A E B D: data
BA C E B D: data
CC A B E D: data
DC E A B D: data

What is the output?

javascript
function* gen() {
  console.log("A");
  yield 1;
  console.log("B");
  yield 2;
  console.log("C");
}

const g = gen();
console.log(g.next().value);
console.log(g.next().value);
console.log(g.next().value);
AA 1 B 2 C undefined
BA B C 1 2 undefined
C1 2 undefined
DA 1 B 2 undefined

Sign up free to play

Answer all 10 questions (7 more), see explanations for every answer, and track your score.