What is the output?
Anonymous Quiz
25%
1, 3, 5, 6, 7, 2, 4
37%
1, 7, 3, 6, 5, 2, 4
15%
1, 7, 6, 3, 5, 2, 4
22%
1, 7, 3, 5, 6, 2, 4
π6π₯3β€2
Even if you donβt want to render a neat plasma-style effect on the Web, this is a wonderfully deep exploration of the math and technology behind doing so using simple GLSL code that could be easily understood by any JavaScript developer.
Alex Harri
Please open Telegram to view this post
VIEW IN TELEGRAM
β€3π2π€£2
CHALLENGE
const team = {
members: ['Alice', 'Bob', 'Charlie'],
[Symbol.iterator]: function*() {
let index = 0;
while(index < this.members.length) {
yield this.members[index++].toUpperCase();
}
}
};
const result = [];
for (const member of team) {
result.push(member);
}
console.log(result.join('-'));
π4
What is the output?
Anonymous Quiz
30%
Alice-Bob-Charlie
19%
TypeError: team is not iterable
46%
ALICE-BOB-CHARLIE
5%
[object Object]
π9β€2π₯2
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β€2
What is the output?
Anonymous Quiz
36%
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
40%
[true, false, 'number']
26%
[true, true, 'undefined']
28%
[true, false, 'undefined']
5%
[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
π5π₯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
30%
true
24%
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