CHALLENGE
const wm = new WeakMap();
const obj1 = { name: 'Sarah' };
const obj2 = { name: 'Mike' };
wm.set(obj1, 'developer');
wm.set(obj2, 'designer');
console.log(wm.get(obj1));
console.log(wm.has(obj2));
console.log(wm.get({ name: 'Sarah' }));
console.log(wm.delete(obj1));
console.log(wm.has(obj1));
β€4π₯2π1
A fun technical exploration of Symbol.dispose and using, two new features thatβll ease many headaches around cleaning up after yourself: closing connections, freeing resources, etc. Just watch out for the Muppetsβ¦
Mat Marquis
Please open Telegram to view this post
VIEW IN TELEGRAM
β€5π5π₯2
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
It's true π her pornhub page
Please open Telegram to view this post
VIEW IN TELEGRAM
π€£31π₯7π6β€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
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