What is the output?
Anonymous Quiz
31%
1 5 9 2 4 3 6 7 8
27%
1 5 9 3 8 6 7 2 4
21%
1 9 5 3 6 7 8 2 4
21%
1 5 9 3 6 8 7 2 4
β€4π3π₯2
The big new feature is added support for inspecting HTTP/2 network calls made from Node in Chrome DevTools. There have also been some cryptography related enhancements and npm gets upgraded to v11.6.
MichaΓ«l Zasso
Please open Telegram to view this post
VIEW IN TELEGRAM
β€8π3π₯2
CHALLENGE
class EventManager {
constructor() {
this.listeners = new Map();
}
addListener(event, callback) {
if (!this.listeners.has(event)) {
this.listeners.set(event, new Set());
}
this.listeners.get(event).add(callback);
}
}
const manager = new EventManager();
const obj = { name: 'Component' };
manager.addListener('click', () => console.log(obj.name));
obj = null;
console.log(manager.listeners.get('click').size);
β€2
What is the output?
Anonymous Quiz
15%
0
44%
TypeError: Assignment to constant variable.
30%
1
10%
undefined
As well as parsing feeds of various types, you can also create RSS, Atom, JSON Feed, and OPML files with many common namespaces (iTunes, Podcast, Media RSS, Dublin Core, etc.) β hereβs a quick start tutorial for using it both in browsers or Node. GitHub repo.
Maciej Lamberski
Please open Telegram to view this post
VIEW IN TELEGRAM
β€4π3π₯1
CHALLENGE
const multiply = (a) => (b) => (c) => a * b * c;
const step1 = multiply(2);
const step2 = step1(3);
const result1 = step2(4);
const result2 = multiply(2)(3)(4);
const partialMultiply = multiply(5);
const result3 = partialMultiply(2)(3);
const doubler = multiply(2)(1);
const result4 = doubler(7);
console.log(result1, result2, result3, result4);
β€1
π3β€2π₯1
bun
Please open Telegram to view this post
VIEW IN TELEGRAM
π€3β€2π2
CHALLENGE
const moduleCache = new Map();
async function loadModule(name) {
if (moduleCache.has(name)) {
return moduleCache.get(name);
}
const module = await Promise.resolve({
default: () => `Module ${name} loaded`,
version: '1.0.0'
});
moduleCache.set(name, module);
return module;
}
const results = [];
loadModule('auth').then(m => results.push(m.default()));
loadModule('auth').then(m => results.push(m.version));
loadModule('utils').then(m => results.push(m.default()));
setTimeout(() => console.log(results.join(', ')), 0);
π€4β€1
Now named after a term for the sandworms of the Dune universe, the ongoing malicious supply chain attack affecting the npm ecosystem has grown in scale with hundreds of packages affected in an attempt to exfiltrate tokens and secrets from developersβ machines.
Pandya, van der Zee, and Brown (Socket)
Please open Telegram to view this post
VIEW IN TELEGRAM
β€6π2π₯1
CHALLENGE
const nums = [1, 2, 3, 4, 5];
const result = nums
.filter(n => n > 2)
.map(n => n * 2)
.reduce((acc, n) => {
acc.push(n + 1);
return acc;
}, [])
.slice(1);
console.log(result);
console.log(nums);
What is the output?
Anonymous Quiz
16%
[ 9, 11 ] [ 3, 4, 5 ]
42%
[ 7, 9, 11 ] [ 1, 2, 3, 4, 5 ]
29%
[ 9, 11 ] [ 1, 2, 3, 4, 5 ]
14%
[ 6, 8, 10 ] [ 1, 2, 3, 4, 5 ]
π5β€4
Fetch upload streams seem well-suited for tracking the progress of uploads, but as Jake notes βjust because stuff is taken from the stream doesnβt mean itβs yet been sent over the networkβ. He also touches on an issue relating to measuring download progress using response streams.
Jake Archibald
Please open Telegram to view this post
VIEW IN TELEGRAM
π€6π₯3π2
CHALLENGE
const cache = new Map();
function createHandler(id) {
const data = { id, value: new Array(1000).fill(id) };
cache.set(id, data);
return function(action) {
if (action === 'get') return data;
if (action === 'clear') cache.delete(id);
};
}
const handler1 = createHandler('user-1');
const handler2 = createHandler('user-2');
handler1('clear');
console.log(cache.size);
console.log(handler1('get').id);
β€3π1π₯1
A sophisticated and widespread supply chain attack has struck the NPM ecosystem, compromising the popular @ctrl/tinycolor package, which is downloaded over 2 million times per week.
Guru Baran
Please open Telegram to view this post
VIEW IN TELEGRAM
β€4π₯3π1
CHALLENGE
const sym1 = Symbol('test');
const sym2 = Symbol('test');
const obj = {
[sym1]: 'value1',
[sym2]: 'value2',
regular: 'value3'
};
const sym3 = Symbol.for('global');
const sym4 = Symbol.for('global');
console.log(sym1 === sym2);
console.log(sym3 === sym4);
console.log(Object.keys(obj).length);
console.log(Object.getOwnPropertySymbols(obj).length);
What is the output?
Anonymous Quiz
26%
false false 3 0
32%
true false 1 2
32%
false true 1 2
10%
true true 0 2
β€3π1π₯1