CHALLENGE
class CustomError extends Error {
constructor(message, code) {
super(message);
this.name = 'CustomError';
this.code = code;
}
}
try {
throw new CustomError('Something went wrong', 500);
} catch (error) {
console.log(error instanceof Error);
console.log(error instanceof CustomError);
console.log(error.name);
console.log(typeof error.code);
}
β€5
What is the output?
Anonymous Quiz
49%
true, true, CustomError, number
35%
false, false, CustomError, number
9%
true, true, Error, number
8%
true, false, Error, string
β€5π2π₯1
CHALLENGE
class ValidationError extends Error {
constructor(message, code) {
super(message);
this.name = 'ValidationError';
this.code = code;
}
}
function processData(data) {
try {
if (!data) throw new ValidationError('Data required', 'MISSING_DATA');
return data.toUpperCase();
} catch (error) {
if (error instanceof ValidationError) {
console.log(`${error.name}: ${error.message} (${error.code})`);
} else {
console.log(`Unexpected error: ${error.message}`);
}
}
}
processData(null);
processData(42);
β€3
Please open Telegram to view this post
VIEW IN TELEGRAM
π€£43π4π₯2
CHALLENGE
class StateMachine {
constructor() {
this.state = 'idle';
this.transitions = {
idle: { start: 'running', reset: 'idle' },
running: { pause: 'paused', stop: 'stopped' },
paused: { resume: 'running', stop: 'stopped' },
stopped: { reset: 'idle' }
};
}
transition(action) {
const nextState = this.transitions[this.state]?.[action];
if (nextState) {
this.state = nextState;
return true;
}
return false;
}
}
const sm = new StateMachine();
console.log(sm.transition('start'));
console.log(sm.state);
console.log(sm.transition('reset'));
console.log(sm.state);
β€7π2π€1
What is the output?
Anonymous Quiz
22%
true running true idle
38%
true started false started
33%
true running false running
7%
false idle true idle
β€2π2π₯2
CHALLENGE
const target = { name: 'Sarah', age: 25 };
const handler = {
get(obj, prop) {
if (prop === 'toString') {
return () => `Person: ${obj.name}`;
}
return Reflect.get(obj, prop);
},
has(obj, prop) {
return prop !== 'age' && Reflect.has(obj, prop);
}
};
const proxy = new Proxy(target, handler);
console.log(proxy.name);
console.log('age' in proxy);
console.log(proxy.toString());
π€©2
What is the output?
Anonymous Quiz
23%
Sarah false [object Object]
41%
Sarah true [object Object]
29%
Sarah false Person: Sarah
7%
undefined false Person: Sarah
β€4π₯4π€©3π1
CHALLENGE
async function processData() {
console.log('Start');
const promise1 = new Promise(resolve => {
console.log('Promise 1 executor');
resolve('Result 1');
});
const promise2 = Promise.resolve('Result 2');
console.log('After promises created');
const result1 = await promise1;
console.log(result1);
const result2 = await promise2;
console.log(result2);
return 'Done';
}
processData().then(result => console.log(result));
What is the output?
Anonymous Quiz
36%
Start Promise 1 executor After promises created Result 1 Result 2 Done
26%
Promise 1 executor Start After promises created Result 1 Result 2 Done
18%
Start Promise 1 executor Result 1 After promises created Result 2 Done
20%
Start After promises created Promise 1 executor Result 1 Result 2 Done
β€3π1π₯1
The Chrome team has released an MCP server for Chrome DevTools, enabling agents like Claude Code or OpenAI Codex to use the DevTools to debug and analyze the performance and behavior of your webapps (or even just to automate the use of Chrome generally). Addy does a great job of explaining the potential here.
Addy Osmani
Please open Telegram to view this post
VIEW IN TELEGRAM
β€3π3π₯2
CHALLENGE
console.log('1');
Promise.resolve().then(() => {
console.log('2');
Promise.resolve().then(() => console.log('3'));
});
Promise.resolve().then(() => {
console.log('4');
});
setTimeout(() => console.log('5'), 0);
console.log('6');
β€5π4
βWeβve been busy,β says Cloudflare which recently announced itβs bringing Node.js HTTP server support to its Workers function platform. This post goes deep into the technicalities, covering what areas of the standard library is supported, how the file system works (Workers doesnβt have a typical file system), how input/output streams work, and more. And you can use all of this now.
James M Snell (Cloudflare)
Please open Telegram to view this post
VIEW IN TELEGRAM
β€6π₯3π1
CHALLENGE
function processData() {
try {
console.log('processing');
return 'success';
} catch (error) {
console.log('error caught');
return 'failed';
} finally {
console.log('cleanup');
}
}
const result = processData();
console.log('result:', result);
What is the output?
Anonymous Quiz
14%
error caught cleanup result: failed
50%
processing cleanup result: success
21%
processing cleanup result: undefined
15%
processing result: success cleanup
β€3π2
Please open Telegram to view this post
VIEW IN TELEGRAM
π€£7β€2π1