CHALLENGE
function createCounter() {
let count = 0;
return {
increment: () => ++count,
decrement: () => --count,
getValue: () => count
};
}
const counter1 = createCounter();
const counter2 = createCounter();
counter1.increment();
counter1.increment();
counter2.increment();
console.log(counter1.getValue() + counter2.getValue());
π6π₯6β€1
CHALLENGE
const original = {
name: 'Emma',
skills: ['JavaScript', 'Python'],
config: { theme: 'dark', notifications: true }
};
const copy1 = { ...original };
const copy2 = JSON.parse(JSON.stringify(original));
const copy3 = Object.assign({}, original);
copy1.name = 'Sarah';
copy1.skills.push('React');
copy1.config.theme = 'light';
console.log(original.name);
console.log(original.skills.length);
console.log(original.config.theme);
β€4π€£4
What is the output?
Anonymous Quiz
31%
Emma, 3, light
26%
Sarah, 2, dark
26%
Emma, 2, dark
17%
Sarah, 3, light
π€7π2β€1
Please open Telegram to view this post
VIEW IN TELEGRAM
3β€41π₯12π7
CHALLENGE
const obj = {
name: 'Sarah',
regularMethod: function() {
return () => {
console.log(this.name);
};
},
arrowMethod: () => {
return () => {
console.log(this.name);
};
}
};
const regular = obj.regularMethod();
const arrow = obj.arrowMethod();
regular();
arrow();
β€6
What is the output?
Anonymous Quiz
36%
Sarah, Sarah
38%
Sarah, undefined
17%
undefined, Sarah
8%
undefined, undefined
β€3π€1
Please open Telegram to view this post
VIEW IN TELEGRAM
β€9π€4π₯2
CHALLENGE
console.log('1');
setTimeout(() => console.log('2'), 0);
Promise.resolve().then(() => console.log('3'));
setTimeout(() => console.log('4'), 0);
console.log('5');
Promise.resolve().then(() => {
console.log('6');
return Promise.resolve();
}).then(() => console.log('7'));
queueMicrotask(() => console.log('8'));
console.log('9');
π₯3β€1
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
22%
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);
π3β€2π₯1
bun
Please open Telegram to view this post
VIEW IN TELEGRAM
π€3π2β€1
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