For a while, Nodeβs long-standing web framework, Express.js, was looking a bit stale and projects like Fastify were beginning to carry the torch, but a major reboot that began in 2024 brought Express back to the fore. Now Expressβs brand, website, and docs have time-travelled to 2026 too.
Sebastian Beltran
Please open Telegram to view this post
VIEW IN TELEGRAM
β€7π3π€©3
CHALLENGE
const prefix = "get";
const suffix = "Name";
const registry = {
[`${prefix}Full${suffix}`]: function () {
return `${this.first} ${this.last}`;
},
[`${prefix}Short${suffix}`]: function () {
return this.first[0] + ". " + this.last;
},
};
const person = {
first: "Leonardo",
last: "Fibonacci",
...registry,
};
const key = ["Full", "Short"][1];
console.log(person[`${prefix}${key}${suffix}`]());
β€1π1
What is the output?
Anonymous Quiz
36%
L. Fibonacci
28%
undefined
21%
Leonardo F.
16%
Leonardo Fibonacci
β€3π₯1
A codemod (used via npx codemod) that transforms code using Axios to leverage the WHATWG Fetch API, which is now natively available in Node.js. For some reason they donβt link to it in the post, but itβs here if you want to try it out (and hereβs the underlying code).
Augustin Mauroy
Please open Telegram to view this post
VIEW IN TELEGRAM
β€5π3π€©1π€£1
CHALLENGE
const config = {
db: { host: "localhost", port: 5432 },
cache: { ttl: 300 },
};
Object.freeze(config);
config.debug = true;
config.db.port = 9999;
config.cache = { ttl: 600 };
const sealed = Object.seal({ version: "1.0", meta: { build: 42 } });
sealed.version = "2.0";
sealed.author = "devteam";
sealed.meta.build = 99;
console.log(
config.debug,
config.db.port,
config.cache.ttl,
sealed.version,
sealed.author,
sealed.meta.build
);
β€5
What is the output?
Anonymous Quiz
20%
undefined 9999 300 '1.0' undefined 42
41%
undefined 9999 300 2.0 undefined 99
27%
true 5432 300 '2.0' undefined 99
12%
undefined 5432 600 '1.0' 'devteam' 99
β€4π1
Please open Telegram to view this post
VIEW IN TELEGRAM
π₯6π4β€2π€£2π€1
CHALLENGE
const flags = {
READ: 0b0001,
WRITE: 0b0010,
EXECUTE: 0b0100,
DELETE: 0b1000,
};
const userPermissions = flags.READ | flags.WRITE | flags.EXECUTE;
const adminPermissions = userPermissions | flags.DELETE;
const canDelete = (adminPermissions & flags.DELETE) !== 0;
const canExecute = (userPermissions & flags.EXECUTE) !== 0;
const readOnly = userPermissions ^ flags.WRITE;
console.log(canDelete, canExecute, readOnly, adminPermissions >> 1);
β€2π1π₯1
What is the output?
Anonymous Quiz
26%
true false 5 7
37%
false true 5 7
25%
true true 7 5
12%
true true 5 7
π4β€3
CHALLENGE
const team = {
name: "Alpha",
members: ["Carlos", "Diana", "Eve"],
listMembers() {
return this.members.map(function (member) {
return `${this.name}: ${member}`;
});
},
listMembersArrow() {
return this.members.map((member) => {
return `${this.name}: ${member}`;
});
},
};
console.log(team.listMembers()[0]);
console.log(team.listMembersArrow()[0]);
β€7π₯3π1
CHALLENGE
function makeCounter(start = 0, step = 1) {
let count = start;
const history = [];
return {
increment() {
count += step;
history.push(count);
return this;
},
decrement() {
count -= step;
history.push(count);
return this;
},
getHistory: () => history,
getCount: () => count,
};
}
const counter = makeCounter(10, 3);
counter.increment().increment().decrement();
console.log(counter.getCount());
console.log(counter.getHistory());π3β€1
What is the output?
Anonymous Quiz
43%
13 [ 13, 16, 13 ]
29%
13 [13, 16, 10]
19%
10 [13, 16, 13]
10%
16 [13, 16, 13]
π4β€2
CHALLENGE
const inventory = new Map([
["sword", { qty: 3, value: 150 }],
["shield", { qty: 1, value: 200 }],
["potion", { qty: 5, value: 30 }],
]);
const upgraded = new Map(
[...inventory.entries()]
.filter(([, item]) => item.value >= 100)
.map(([key, item]) => [key, { ...item, value: item.value * 2 }])
);
console.log(upgraded.size);
console.log(upgraded.get("sword").value);
console.log(upgraded.has("potion"));
console.log([...upgraded.keys()].join(", "));
β€2π₯2π1
What is the output?
Anonymous Quiz
17%
2 300 true sword, shield
34%
2 150 false sword, shield
24%
3 300 true sword, shield, potion
25%
2 300 false sword, shield
β€2π₯1
CHALLENGE
const log = [];
const handler = {
set(target, key, value) {
log.push(`set:${key}=${value}`);
target[key] = value;
return true;
},
get(target, key) {
log.push(`get:${key}`);
return target[key];
}
};
const state = new Proxy({}, handler);
state.count = 0;
state.count = state.count + 1;
state.count = state.count + 1;
console.log(log.join(" | "));
β€3π2π₯1
What is the output?
Anonymous Quiz
17%
get:count | set:count=0 | get:count | set:count=1 | get:count | set:count=2
51%
set:count=0 | get:count | set:count=1 | get:count | set:count=2 | get:count
12%
set:count=0 | set:count=1 | set:count=2
20%
set:count=0 | get:count | set:count=1 | get:count | set:count=2
Please open Telegram to view this post
VIEW IN TELEGRAM
β€33π€£7π3π₯1
CHALLENGE
const obj = {
name: "Nikola",
greetArrow: () => {
return `Hello, ${this?.name ?? "stranger"}!`;
},
greetRegular() {
return `Hello, ${this.name}!`;
},
greetNested() {
const inner = () => `Hi, ${this.name}!`;
return inner();
}
};
console.log(obj.greetArrow());
console.log(obj.greetRegular());
console.log(obj.greetNested());π6β€3π₯1