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
31%
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
What is the output?
Anonymous Quiz
38%
visible, hidden, registered, true
38%
visible, undefined, registered, true
14%
visible, undefined, registered, false
10%
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