π€5π₯3β€2π1
CHALLENGE
class EventEmitter {
constructor() {
this.events = new Map();
}
on(event, callback) {
if (!this.events.has(event)) {
this.events.set(event, []);
}
this.events.get(event).push(callback);
return this;
}
emit(event, ...args) {
const callbacks = this.events.get(event);
if (callbacks) {
callbacks.forEach(cb => cb(...args));
}
return this;
}
}
const emitter = new EventEmitter();
emitter.on('test', x => console.log(x * 2))
.on('test', x => console.log(x + 10))
.emit('test', 5);β€6π3
π7β€1
CHALLENGE
const obj = {
data: ['x', 'y', 'z'],
*[Symbol.iterator]() {
for (let i = this.data.length - 1; i >= 0; i--) {
yield this.data[i].toUpperCase();
}
}
};
const result = [];
for (const item of obj) {
result.push(item);
if (result.length === 2) break;
}
console.log(result.join('-'));β€13π3π₯1
π1
CHALLENGE
const x = 15;
const y = 10;
const z = 3;
const result1 = x & y;
const result2 = x | y;
const result3 = x ^ y;
const result4 = ~x;
const result5 = y << z;
const result6 = y >> 1;
console.log(`${result1},${result2},${result3},${result4},${result5},${result6}`);
π₯4β€3π2
What is the output?
Anonymous Quiz
22%
5,15,10,-15,80,5
27%
10,14,5,-16,80,5
31%
10,15,5,-16,80,5
19%
10,15,5,-15,80,5
β€2
LibPDF bills itself as βthe PDF library TypeScript deservesβ and supports parsing, modifying, signing and generating PDFs with a modern API in Node, Bun, and the browser. GitHub repo.
Documenso
Please open Telegram to view this post
VIEW IN TELEGRAM
π11β€7π₯4
CHALLENGE
const wm = new WeakMap();
let obj1 = { name: 'John' };
let obj2 = { name: 'Jane' };
wm.set(obj1, 'developer');
wm.set(obj2, 'designer');
console.log(wm.get(obj1));
console.log(wm.has(obj2));
obj1 = null;
console.log(wm.get(obj1));
const normalObj = {};
try {
wm.set('string', 'value');
} catch (e) {
console.log('error');
}
π6π₯2
What is the output?
Anonymous Quiz
38%
developer true null error
31%
John true undefined error
19%
developer false undefined error
12%
developer true undefined error
β€5π€5π2
A prolific JavaScript developer ported a PokΓ©mon battle simulator to Rust and shares his experiences and techniques used to work around issues where Claude Code would get bogged down in such a large task. He notes βLLM-based coding agents are such a great new toolβ but require βengineering expertise and constant babysittingβ.
Christopher Chedeau
Please open Telegram to view this post
VIEW IN TELEGRAM
β€6π5π₯4
CHALLENGE
console.log('start');
Promise.resolve().then(() => {
console.log('promise 1');
});
setTimeout(() => {
console.log('timeout');
}, 0);
Promise.resolve().then(() => {
console.log('promise 2');
}).then(() => {
console.log('promise 3');
});
console.log('end');β€5π3π₯3
Please open Telegram to view this post
VIEW IN TELEGRAM
β€6π₯6π5
CHALLENGE
const nums = [1, 2, 3];
const obj = { a: 1, b: 2 };
const newObj = { ...obj, b: 3, ...obj };
const arr1 = [4, 5];
const arr2 = [6, 7];
const combined = [...nums, ...arr1, ...arr2];
const [first, ...rest] = combined;
const { a, ...remaining } = newObj;
console.log(newObj.b);
console.log(rest.length);
console.log(remaining.b);
π6π₯4β€1
π₯4π3β€2π€2
First introduced two years ago, Node has a (still experimental) feature to build single executable applications that can be deployed to machines that donβt have Node installed. This weekβs Node.js 25.5 release, with its --build-sea flag, moves the final injection step into Node itself, eliminating the need for external tooling and turning what was a multi-step, low-level process into a single command.
Joyee Cheung
Please open Telegram to view this post
VIEW IN TELEGRAM
π8β€5π₯2
CHALLENGE
const user = {
profile: {
settings: {
theme: 'dark',
notifications: null
}
}
};
const getNotificationSound = (user) => {
return user?.profile?.settings?.notifications?.sound ?? 'default';
};
console.log(getNotificationSound(user));
console.log(getNotificationSound(null));
console.log(getNotificationSound({ profile: {} }));β€6π6π₯3
What is the output?
Anonymous Quiz
25%
default default undefined
33%
undefined undefined undefined
14%
null default default
29%
default default default
β€3π1π₯1
CHALLENGE
function processData() {
try {
console.log('start');
throw new Error('oops');
console.log('unreachable');
} catch (e) {
console.log('caught');
return 'error';
} finally {
console.log('cleanup');
}
console.log('end');
}
const result = processData();
console.log(result);π₯9β€7π4