CHALLENGE
const user = {
profile: {
name: 'Alice',
settings: {
notifications: {
email: true,
sms: false
}
}
},
getPreference(type) {
return this.profile?.settings?.notifications?.[type] ?? 'not configured';
}
};
const admin = {
profile: {
name: 'Admin',
settings: null
},
getPreference: user.getPreference
};
console.log(admin.getPreference('email'));
π4β€1
What is the output?
Anonymous Quiz
35%
not configured
33%
true
22%
TypeError: Cannot read properties of null (reading 'notifications')
10%
undefined
π€10π9β€1
Please open Telegram to view this post
VIEW IN TELEGRAM
π6β€5π₯2
CHALLENGE
const companies = [
{ name: 'TechCorp', founded: 2010 },
{ name: 'DataSystems', founded: 2015 },
{ name: 'WebSolutions', founded: 2008 }
];
const activeClients = new WeakSet();
activeClients.add(companies[0]);
activeClients.add(companies[2]);
companies.pop();
const result = [
activeClients.has(companies[0]),
activeClients.has(companies[1]),
typeof activeClients.size
];
console.log(result);
β€4π1π€1
What is the output?
Anonymous Quiz
39%
[true, false, 'number']
27%
[true, true, 'undefined']
28%
[true, false, 'undefined']
6%
[false, true, 'undefined']
β€2π€2
CHALLENGE
function processConfig(config) {
const defaults = {
timeout: 1000,
retries: 3,
enabled: false,
count: 0
};
const settings = {
...defaults,
...config
};
const effectiveTimeout = settings.timeout ?? 500;
const effectiveRetries = settings.retries ?? 1;
const effectiveEnabled = settings.enabled ?? true;
const effectiveCount = settings.count ?? 5;
console.log([effectiveTimeout, effectiveRetries, effectiveEnabled, effectiveCount]);
}
processConfig({ timeout: null, retries: 0, enabled: undefined });
π5π€1
What is the output?
Anonymous Quiz
20%
[null, 0, true, 0]
43%
[500, 0, true, 0]
29%
[500, 1, true, 5]
8%
[null, 0, true, 5]
π₯7β€5π1π€1
Please open Telegram to view this post
VIEW IN TELEGRAM
π4π₯3β€2
CHALLENGE
console.log('Start');
setTimeout(() => {
console.log('Timeout 1');
}, 0);
Promise.resolve().then(() => {
console.log('Promise 1');
}).then(() => {
console.log('Promise 2');
});
setTimeout(() => {
console.log('Timeout 2');
}, 0);
console.log('End');
β€4
This ~420pg ebook is a collection of all 4 remaining "unbooks" of the 2nd edition of "You Don't Know JS Yet" book series.
Kyle Simpson
Please open Telegram to view this post
VIEW IN TELEGRAM
1π10β€4π₯4π€1
CHALLENGE
const a = 9007199254740991n;
const b = 2n;
function performCalculation() {
const c = a + 1n;
const d = c / b;
const e = d * 2n - 1n;
const result = Number(e) === Number(a);
console.log(result);
}
performCalculation();
π7
What is the output?
Anonymous Quiz
29%
true
25%
false
20%
9007199254740991
26%
TypeError: Cannot convert a BigInt value to a number
π11π€6β€4
CHALLENGE
const obj = {
[Symbol('a')]: 'hidden',
a: 'visible',
[Symbol.for('b')]: 'registered',
b: 123
};
const symbol1 = Symbol.for('b');
const symbol2 = Symbol.for('b');
console.log(obj.a + ', ' +
obj[Symbol('a')] + ', ' +
obj[symbol1] + ', ' +
(symbol1 === symbol2));
β€2π₯2π1
What is the output?
Anonymous Quiz
38%
visible, hidden, registered, true
38%
visible, undefined, registered, true
14%
visible, undefined, registered, false
9%
visible, hidden, undefined, true
π7β€5π₯4
A popular Processing-inspired creative coding library that makes it easy to create interactive, visual experiences (examples). v2.0 improves its font support, adds more ways to draw and manipulate text, adds a way to write shaders in JavaScript, and much more. p5.js 2.0: You Are Here has more details on the release and where the project is headed next.
p5.js Team
Please open Telegram to view this post
VIEW IN TELEGRAM
π7π₯2β€1
CHALLENGE
function* counter() {
let i = 0;
while (true) {
const direction = yield i;
if (direction === 'up') i += 2;
else if (direction === 'down') i -= 1;
else i += 1;
}
}
const count = counter();
console.log(count.next().value);
console.log(count.next('up').value);
console.log(count.next('down').value);
console.log(count.next().value);
π1π₯1
π4β€3π₯3
A split-flap display is a electro-mechanical display commonly associated with live timetable displays and it makes for a neat effect on the Web too. Jhey breaks down how to replicate it, or you can hit up this live demo.
Jhey Tompkins
Please open Telegram to view this post
VIEW IN TELEGRAM
π7π₯3β€1π€1