CHALLENGE
console.log('1');
setTimeout(() => console.log('2'), 0);
Promise.resolve().then(() => console.log('3'));
queueMicrotask(() => console.log('4'));
setTimeout(() => console.log('5'), 0);
Promise.resolve().then(() => {
console.log('6');
return Promise.resolve();
}).then(() => console.log('7'));
console.log('8');
β€6π₯4π2
What is the output?
Anonymous Quiz
36%
1 8 3 4 6 7 2 5
29%
1 8 4 3 6 2 7 5
17%
1 8 3 6 4 7 2 5
18%
1 2 3 4 5 6 7 8
A project originally spawned from the BBCβs R&D department, Peaks renders audio waveforms to a canvas element and allows scrolling, zooming, and the sort of things you might otherwise see in an audio editor. LGPL licensed.
Chris Needham et al.
Please open Telegram to view this post
VIEW IN TELEGRAM
β€3π2π₯2
CHALLENGE
class CustomError extends Error {
constructor(message) {
super(message);
this.name = 'CustomError';
}
}
try {
try {
throw new CustomError('inner error');
} catch (e) {
console.log(e.name);
throw new Error('outer error');
}
} catch (e) {
console.log(e.message);
console.log(e instanceof CustomError);
}
β€1
What is the output?
Anonymous Quiz
44%
CustomError outer error false
32%
CustomError inner error true
16%
Error outer error false
8%
CustomError outer error true
β€5π₯2
π¨ Eyecons is a VS Code icon theme that automatically adapts the color of icons to fit your editor's main theme β well, from this list anyway.
π7β€1π₯1
CHALLENGE
const original = {
name: 'Sarah',
scores: [85, 92, 78],
details: {
age: 25,
city: 'Portland'
}
};
const copy1 = { ...original };
const copy2 = JSON.parse(JSON.stringify(original));
copy1.name = 'Emma';
copy1.scores.push(95);
copy1.details.age = 30;
console.log(original.name, original.scores.length, original.details.age);
β€5π₯4π1
β€4π2
In July, Socket warned us about a phishing campaign targeting npm package publishers. Sadly, a prolific package author (among others, like DuckDB, who explain how the attack worked on them) fell victim to the scam, resulting in some popular packages becoming compromised (like Chalk, debug, and others).
Gooding, Brown, et al. (Socket)
Please open Telegram to view this post
VIEW IN TELEGRAM
π₯3π€3β€1
CHALLENGE
const createLogger = (prefix) => (message) => `${prefix}: ${message}`;
const createCounter = () => {
let count = 0;
return () => ++count;
};
const withLogging = (fn) => (...args) => {
const result = fn(...args);
console.log(`Called with: ${args}, Result: ${result}`);
return result;
};
const counter = createCounter();
const loggedCounter = withLogging(counter);
const logger = createLogger('INFO');
console.log(loggedCounter());
console.log(logger(loggedCounter()));
π6β€2
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
30%
Emma, 3, light
26%
Sarah, 2, dark
27%
Emma, 2, dark
17%
Sarah, 3, light
π€7π2β€1
Please open Telegram to view this post
VIEW IN TELEGRAM
3β€39π₯11π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();
β€4
What is the output?
Anonymous Quiz
37%
Sarah, Sarah
41%
Sarah, undefined
14%
undefined, Sarah
8%
undefined, undefined
β€2π€1
Please open Telegram to view this post
VIEW IN TELEGRAM
β€9π€4π₯1
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');
π₯1