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β€3
What is the output?
Anonymous Quiz
30%
Emma, 3, light
27%
Sarah, 2, dark
26%
Emma, 2, dark
17%
Sarah, 3, light
π€6π2
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
38%
Sarah, Sarah
40%
Sarah, undefined
14%
undefined, Sarah
9%
undefined, undefined
β€2π€1
Please open Telegram to view this post
VIEW IN TELEGRAM
β€8π€3π₯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');
What is the output?
Anonymous Quiz
43%
1 5 9 2 4 3 6 7 8
24%
1 5 9 3 8 6 7 2 4
19%
1 9 5 3 6 7 8 2 4
14%
1 5 9 3 6 8 7 2 4