CHALLENGE
function createUser(
name,
role = "viewer",
permissions = { read: true, write: false },
level = permissions.write ? 2 : 1
) {
return { name, role, permissions, level };
}
const user1 = createUser("Carlos");
const user2 = createUser("Diana", "editor", { read: true, write: true });
const user3 = createUser("Eve", "admin", undefined, 5);
console.log(user1.role, user1.level);
console.log(user2.role, user2.level);
console.log(user3.role, user3.level);
ð¥5ð€©2ð1
What is the output?
Anonymous Quiz
16%
viewer 2 editor 2 admin 5
32%
viewer 1 editor 1 admin 5
39%
viewer 1 editor 2 admin 5
13%
viewer 1 editor 2 admin 2
â€3ð1
CHALLENGE
const user = {
profile: {
name: "Marcus",
address: {
city: "Berlin",
zip: "10115"
}
},
getSubscription: () => ({
plan: "pro",
features: ["analytics", "exports"]
})
};
const city = user?.profile?.address?.city;
const country = user?.profile?.address?.country?.toUpperCase();
const firstFeature = user?.getSubscription?.()?.features?.[0];
const adminRole = user?.roles?.[0]?.name ?? "guest";
console.log(city, country, firstFeature, adminRole);ð¥4ð3ð€©2â€1
What is the output?
Anonymous Quiz
20%
undefined undefined undefined guest
29%
Berlin null analytics null
43%
Berlin undefined analytics guest
8%
Berlin undefined undefined guest
ð¥1
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
ð€£9ð¥6ð€1
CHALLENGE
const tag = (strings, ...values) => {
return strings.reduce((result, str, i) => {
const value = values[i - 1];
const transformed =
typeof value === "number" ? value * 2 : value?.toUpperCase();
return result + transformed + str;
});
};
const name = "carlos";
const score = 42;
const bonus = null;
const output = tag`Player: ${name}, Score: ${score}, Bonus: ${bonus}`;
console.log(output);â€1
What is the output?
Anonymous Quiz
17%
Player: Carlos, Score: 84, Bonus: 0
29%
Player: carlos, Score: 42, Bonus: null
39%
Player: CARLOS, Score: 84, Bonus: undefined
16%
Player: CARLOS, Score: 84, Bonus: null
â€4ð¥4ð3
CHALLENGE
const p1 = new Promise((resolve) => {
console.log("A");
resolve("B");
});
const p2 = p1.then((val) => {
console.log(val);
return "C";
});
p2.then((val) => {
console.log(val);
});
console.log("D");
ð¥5â€2ð1
â€3ð¥1
CHALLENGE
function highlight(strings, ...values) {
return strings.reduce((result, str, i) => {
const value = values[i - 1];
const transformed =
typeof value === "number"
? `[${value * 2}]`
: `(${String(value).toUpperCase()})`;
return result + transformed + str;
});
}
const product = "widget";
const qty = 4;
const price = 12.5;
const output = highlight`Order: ${product} x${qty} @ $${price}`;
console.log(output);â€5ð1ð€£1
What is the output?
Anonymous Quiz
26%
Order: (WIDGET) x[4] @ $[25]
45%
Order: (WIDGET) x[8] @ $[25]
17%
Order: (widget) x[8] @ $[25]
12%
Order: (WIDGET) x[8] @ $[12.5]
â€3ð¥3
CHALLENGE
function* pipeline(...fns) {
let value = yield;
for (const fn of fns) {
value = yield fn(value);
}
return value;
}
const double = x => x * 2;
const addTen = x => x + 10;
const square = x => x * x;
const gen = pipeline(double, addTen, square);
gen.next(); // prime the generator
const r1 = gen.next(3);
const r2 = gen.next(r1.value);
const r3 = gen.next(r2.value);
console.log(r1.value, r2.value, r3.value);â€4ð2
ð¥3
An experienced developer built and benchmarked the same app across numerous frameworks (e.g. Angular, Solid, React, Alpine.jsâŠ). Here are the results, covering bundle size, build time, UX metrics, and more.
Alicia Sykes
Please open Telegram to view this post
VIEW IN TELEGRAM
â€2ð¥2
A Microsoft project that compiles a simple, declarative JSON-based spec of a data visualization into a form that Vega-Lite, ECharts or Chart.js can render. It's pitched at agentic use, but is a simple intermediate format humans could benefit from too.
Microsoft Research
Please open Telegram to view this post
VIEW IN TELEGRAM
â€7ð1
Famously, the only thing Java gave JavaScript was the first four letters of its name. That goes unmentioned in ð this new documentary about Java (74 minutes), but I enjoyed learning Java's story anyway. It's from the same folks as the fantastic Vite, Angular, and Node.js documentaries.
Please open Telegram to view this post
VIEW IN TELEGRAM
ð€£3ð2â€1
A dissection of a North Korean campaign that hides malware inside SVG images in a fake job interview's JavaScript 'coding challenge'. The targeting of job-seeking devs is on the increase, as Roman Imankulov recently discovered first-hand.
Daniel Stepanic (Elastic)
Please open Telegram to view this post
VIEW IN TELEGRAM
ð€£5â€2ð1
A PDF parser built in Rust with bindings for Node (plus WASM, Rust, and Python) â it worked great in my testing. It includes OCR, handles layouts/is spatially aware, and is fast (a complex 140-page PDF took ~10 seconds). Here's how to get started from Node.
LlamaIndex
Please open Telegram to view this post
VIEW IN TELEGRAM
â€5ð2
CHALLENGE
class Timer {
constructor() { this.seconds = 0; }
start() {
this.tick = () => { this.seconds++; return this.seconds; };
return this.tick;
}
}
const t = new Timer();
const tick = t.start();
const obj = { seconds: 100, tick };
console.log(tick(), obj.tick(), t.seconds);ð2ð¥1
â€3