CHALLENGE
const teams = [
{ name: 'Warriors', players: ['Curry', 'Thompson'] },
{ name: 'Lakers', players: ['James', 'Davis'] }
];
const newTeams = JSON.parse(JSON.stringify(teams));
newTeams[0].players.push('Green');
const shallowCopy = [...teams];
shallowCopy[1].name = 'Clippers';
const freezeTest = Object.freeze({nested: {value: 42}});
freezeTest.nested.value = 100;
console.log(teams[1].name, teams[0].players.length, freezeTest.nested.value);
β€6π€£3
What is the output?
Anonymous Quiz
43%
Clippers 2 100
25%
Lakers 2 100
21%
Lakers 3 42
10%
Clippers 3 100
β€3π3π₯3
CHALLENGE
let x = 5;
function foo() {
console.log(x);
let x = 10;
console.log(x);
}
foo();
β€1
What is the output?
Anonymous Quiz
25%
ReferenceError: Cannot access 'x' before initialization
25%
undefined 10
14%
5 ReferenceError: x is not defined
36%
5 10
β€8π4π€£3π₯2
Deno 2.4 reintroduces the deno bundle command for creating single-file bundles for both the server and client side, complete with support for npm and JSR dependencies and automatic tree-shaking. You can also now include arbitrary files into modules using import, and Denoβs built-in OpenTelemetry support is now stable. Itβs a substantial release.
IwaΕczuk and Jiang
Please open Telegram to view this post
VIEW IN TELEGRAM
β€3π2π₯1
CHALLENGE
const fruits = ['apple', 'banana', 'cherry'];
const newFruits = [...fruits];
newFruits.push('date');
const user = { name: 'Taylor', age: 30 };
const updatedUser = { ...user, age: 31 };
user.city = 'Seattle';
console.log(fruits.length, newFruits.length, user.city, updatedUser.city);
β€3
What is the output?
Anonymous Quiz
21%
3 4 undefined undefined
21%
3 3 Seattle undefined
46%
3 4 Seattle undefined
11%
4 4 Seattle Seattle
CHALLENGE
const handler = {
get(target, prop) {
if (prop in target) {
return target[prop] * 2;
} else {
return `Property ${prop} not found`;
}
},
set(target, prop, value) {
if (typeof value === 'number') {
target[prop] = Math.round(value);
return true;
}
return false;
}
};
const obj = { a: 5, b: 10 };
const proxy = new Proxy(obj, handler);
proxy.c = 7.8;
proxy.d = "hello";
console.log(obj.c, proxy.a, proxy.x);
β€1
What is the output?
Anonymous Quiz
32%
8 10 "Property x not found"
23%
8 10 undefined
28%
8 10 Property x not found
18%
7.8 10 Property x not found
π€5β€3π1
A straightforward, practical look at bringing together several technologies and skills to create an AI powered color suggestion tool (which you can try here β results may vary, as seen above). The techniques covered can be used for many different practical ends.
LΓΊΓ Smyth
Please open Telegram to view this post
VIEW IN TELEGRAM
π₯5β€2π2
CHALLENGE
const map = new WeakMap();
let obj1 = { name: 'user1' };
let obj2 = { name: 'user2' };
map.set(obj1, 'data for user1');
map.set(obj2, 'data for user2');
console.log(map.has(obj1));
obj1 = null;
// After garbage collection runs
console.log(map.has(obj1));
console.log(map.get(obj2));
What is the output?
Anonymous Quiz
24%
true ReferenceError: obj1 is not defined
42%
true false data for user2
16%
true false undefined
17%
true false 'data for user2'
β€3π1π₯1
A WYSIWYG Markdown editor framework based around a plugin system that enables a significant level of customization. The docs are rendered by Milkdown itself and thereβs a neat βplaygroundβ experience to try as well. GitHub repo.
Mirone
Please open Telegram to view this post
VIEW IN TELEGRAM
β€2π2π₯1
CHALLENGE
function createCounter() {
let count = 0;
function increment() {
count++;
return count;
}
function decrement() {
count--;
return count;
}
return { increment, decrement, reset: () => count = 0 };
}
const counter = createCounter();
counter.increment();
counter.increment();
counter.decrement();
const { increment, reset } = counter;
increment();
reset();
increment();
console.log(counter.increment());
π₯5β€2π1
Please open Telegram to view this post
VIEW IN TELEGRAM
π€£29π6β€3π₯3
CHALLENGE
function processUserData(data) {
try {
if (!data) {
throw new Error('No data provided');
}
if (!data.name) {
throw new TypeError('Name is required');
}
return { success: true, user: data.name };
} catch (err) {
if (err instanceof TypeError) {
return { success: false, reason: 'validation-failed' };
}
return { success: false, reason: 'unknown-error' };
}
}
console.log(processUserData({}));
β€2
What is the output?
Anonymous Quiz
24%
TypeError: Name is required
48%
{ success: false, reason: 'validation-failed' }
19%
{ success: false, reason: 'unknown-error' }
8%
{ success: true, user: undefined }
π₯3π2β€1π€1
CHALLENGE
const cache = new WeakMap();
function expensiveOperation(obj) {
if (cache.has(obj)) {
console.log('Cache hit!');
return cache.get(obj);
}
console.log('Computing result...');
const result = obj.value * 2;
cache.set(obj, result);
return result;
}
const user = { value: 42 };
expensiveOperation(user);
expensiveOperation(user);
expensiveOperation({ value: 42 });