CHALLENGE
const cache = new Map();
function memoize(fn) {
return function(...args) {
const key = JSON.stringify(args);
if (cache.has(key)) {
return cache.get(key);
}
const result = fn(...args);
cache.set(key, result);
return result;
};
}
const fibonacci = memoize((n) => {
if (n <= 1) return n;
return fibonacci(n - 1) + fibonacci(n - 2);
});
console.log(fibonacci(5));
console.log(cache.size);
❤9👍3🔥2
❤5🔥3👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍5🔥2
This is how the new generation learns about the Node.js EventLoop 😂
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍6🤣4🔥3
CHALLENGE
class CustomError extends Error {
constructor(message) {
super(message);
this.name = this.constructor.name;
}
}
try {
throw new CustomError("Something went wrong");
} catch (error) {
console.log(error.name);
console.log(error instanceof Error);
console.log(error instanceof CustomError);
console.log(typeof error.stack);
}❤8👍7🔥6
What is the output?
Anonymous Quiz
36%
CustomError true true string
41%
CustomError true true undefined
14%
Error true false string
9%
CustomError false true undefined
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥4❤3
CHALLENGE
function createUser(name = 'Guest', age = 0, active = true) {
return { name, age, active };
}
const users = [
createUser('Sarah', 25),
createUser('Mike'),
createUser('Emma', undefined, false),
createUser(null, 30)
];
console.log(users.map(u => `${u.name}-${u.age}-${u.active}`).join('|'));❤3👍2
Does 50% memory savings in production sound good? Cloudflare, Igalia, and the Node project have collaborated on node-caged, a Docker image containing Node 25 with V8 pointer compression enabled. Matteo digs into all the details here – this is neat work, though there are tradeoffs to consider.
Matteo Collina
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍5🔥5🤩1
CHALLENGE
const user = {
name: 'Sarah',
age: 25,
greet() {
return `Hello, I'm ${this.name}`;
}
};
const keys = Object.keys(user);
const values = Object.values(user);
const entries = Object.entries(user);
console.log(keys.length);
console.log(values.includes('Sarah'));
console.log(entries[2][0]);🔥6❤4👍2
What is the output?
Anonymous Quiz
14%
2 false name
60%
3 true greet
20%
2 true age
5%
3 false greet
❤6🔥2
CHALLENGE
const user = {
name: 'Sarah',
profile: {
settings: {
theme: 'dark'
}
}
};
const config = {
name: 'John',
profile: null
};
console.log(user.profile?.settings?.theme);
console.log(config.profile?.settings?.theme);
console.log(user.profile?.preferences?.language);
console.log(config.profile?.settings?.theme ?? 'light');👍5🔥3❤2
What is the output?
Anonymous Quiz
19%
dark undefined null light
31%
dark null undefined light
44%
dark undefined undefined light
6%
Sarah undefined undefined light
👍3❤2
CHALLENGE
function testScope() {
var x = 'outer';
let y = 'outer';
if (true) {
var x = 'inner';
let y = 'inner';
console.log(x, y);
}
console.log(x, y);
}
testScope();❤5👍5🔥2🤣2
What is the output?
Anonymous Quiz
32%
inner inner outer outer
44%
inner inner inner outer
15%
inner inner inner inner
9%
outer outer inner inner
👍8❤4
A 100% Prettier-compatible JavaScript code formatter (and sister project of Oxlint) that boasts being 30x faster than Prettier and 3x faster than Biome. Since the alpha, it now supports embedded language formatting (JSX, YAML, HTML, etc), Tailwind CSS class sorting, import sorting, and more.
Boshen, Dunqing, and Sugiura (VoidZero)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1🔥1
CHALLENGE
class Vehicle {
constructor(type) {
this.type = type;
}
describe() {
return `I am a ${this.type}`;
}
}
class Car extends Vehicle {
constructor(brand) {
super("car");
this.brand = brand;
}
describe() {
return `${super.describe()} made by ${this.brand}`;
}
}
const myCar = new Car("Toyota");
console.log(myCar.describe());
console.log(myCar instanceof Car);
console.log(myCar instanceof Vehicle);
console.log(Object.getPrototypeOf(Car) === Vehicle);
👍6🔥5❤1