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🔥2👍1
❤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👍6🔥6
What is the output?
Anonymous Quiz
37%
CustomError true true string
40%
CustomError true true undefined
16%
Error true false string
7%
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👍4🤩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❤3👍2
What is the output?
Anonymous Quiz
12%
2 false name
63%
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❤1
What is the output?
Anonymous Quiz
19%
dark undefined null light
31%
dark null undefined light
45%
dark undefined undefined light
6%
Sarah undefined undefined light
❤2👍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❤4🔥2🤣2
What is the output?
Anonymous Quiz
30%
inner inner outer outer
46%
inner inner inner outer
14%
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);
👍5🔥5❤1