π4π₯2π€2β€1
CHALLENGE
const numbers = [1, 2, 3, 4, 5];
const pipeline = (...fns) => (value) => fns.reduce((acc, fn) => fn(acc), value);
const multiply = (x) => (y) => x * y;
const add = (x) => (y) => x + y;
const square = (x) => x * x;
const transform = pipeline(
multiply(2),
add(3),
square
);
const result = numbers.map(transform);
console.log(result);
π6β€3
What is the output?
Anonymous Quiz
23%
[4, 16, 36, 64, 100]
53%
[25, 49, 81, 121, 169]
18%
[16, 36, 64, 100, 144]
6%
[9, 25, 49, 81, 121]
π3β€2
The latest cutting edge version of Node has arrived with Web Storage enabled by default, JSON.stringify perf improvements, a new --allow-net option in the permission model, built-in Uint8Array base64/hex conversion, and WebAssembly and JIT optimizations. As shown in the diagram above, this means Node 24 will soon be promoted to being the 'active' LTS release and Node 22 will enter its 'maintenance' LTS phase.
Rafael Gonzaga
Please open Telegram to view this post
VIEW IN TELEGRAM
π12β€4π₯1
CHALLENGE
function Vehicle(type) {
this.type = type;
}
Vehicle.prototype.describe = function() {
return `This is a ${this.type}`;
};
function Car(brand) {
Vehicle.call(this, 'car');
this.brand = brand;
}
Car.prototype = Object.create(Vehicle.prototype);
Car.prototype.constructor = Car;
Car.prototype.describe = function() {
return Vehicle.prototype.describe.call(this) + ` made by ${this.brand}`;
};
const tesla = new Car('Tesla');
console.log(tesla.describe());
console.log(tesla.constructor.name);β€2
What is the output?
Anonymous Quiz
30%
This is a Tesla made by Tesla Car
39%
This is a car made by Tesla Car
18%
This is a Tesla Vehicle
13%
This is a car made by Tesla Vehicle
1β€4π₯2π1
A minimal CheatEngine implementation built with Rust and a terminal UI.
Do you think itβs possible to create something similar with JavaScript?
Do you think itβs possible to create something similar with JavaScript?
β€2π2π€2π₯1
CHALLENGE
const Maybe = {
of: (value) => ({ value, map: f => value == null ? Maybe.nothing() : Maybe.of(f(value)) }),
nothing: () => ({ value: null, map: () => Maybe.nothing() })
};
const result = Maybe.of(5)
.map(x => x * 2)
.map(x => x > 15 ? null : x)
.map(x => x + 1)
.map(x => x.toString());
console.log(result.value);π€8β€2π2
π€7β€3π3
CHALLENGE
class EventManager {
constructor() {
this.listeners = new Map();
}
addListener(event, callback) {
if (!this.listeners.has(event)) {
this.listeners.set(event, new Set());
}
this.listeners.get(event).add(callback);
}
removeAllListeners() {
this.listeners.clear();
}
}
const manager = new EventManager();
const obj = { data: new Array(1000).fill('memory') };
manager.addListener('test', () => obj.data.length);
manager.removeAllListeners();
console.log(manager.listeners.size);π₯2β€1π1
The Vite-powered, Jest-compatible testing framework introduces visual regression testing, makes its βBrowser Modeβ stable (for running tests in a browser directly), adds Playwright Traces support, and more. Still unsure? You can compare it with other test runners here.
VoidZero and Contributors
Please open Telegram to view this post
VIEW IN TELEGRAM
β€3π2π₯1
CHALLENGE
async function fetchData() {
return Promise.resolve('data');
}
async function processData() {
const result = await fetchData();
console.log('Processing:', result);
return result.toUpperCase();
}
const promise = processData();
console.log('Promise:', promise);
promise.then(value => {
console.log('Final:', value);
});What is the output?
Anonymous Quiz
27%
Processing: data Promise: Promise { <pending> } Final: DATA
40%
Promise: Promise { <pending> } Processing: data Final: DATA
26%
Promise: Promise { <pending> } Final: DATA Processing: data
7%
Processing: data Final: DATA Promise: Promise { <pending> }
π5β€2π₯1
CHALLENGE
class DataProcessor {
constructor(transform) {
this.transform = transform;
}
process(data) {
return this.transform(data);
}
}
const multiply = x => x * 2;
const addTen = x => x + 10;
const toString = x => `Result: ${x}`;
const compose = (...fns) => x => fns.reduceRight((acc, fn) => fn(acc), x);
const processor = new DataProcessor(compose(toString, addTen, multiply));
console.log(processor.process(5));β€2π₯2
β€4π2π₯1
Itβs been more than four years since we linked to Sindre's handy resource, but it continues to get updates and tweaks (and, if you want, you can contribute a submission too β though the bar is quite high).
Sindre Sorhus
Please open Telegram to view this post
VIEW IN TELEGRAM
β€4π₯3π2
CHALLENGE
const target = { name: 'Sarah', age: 25 };
const handler = {
get(obj, prop) {
if (prop in obj) {
return obj[prop].toString().toUpperCase();
}
return `Property ${prop} not found`;
},
set(obj, prop, value) {
obj[prop] = value * 2;
return true;
}
};
const proxy = new Proxy(target, handler);
proxy.salary = 50000;
console.log(proxy.name);
console.log(proxy.age);
console.log(proxy.salary);
console.log(proxy.city);What is the output?
Anonymous Quiz
50%
SARAH 25 100000 Property city not found
37%
SARAH 25 50000 Property city not found
11%
Sarah 25 50000 undefined
1%
Sarah age salary city
π₯3β€1π1
CHALLENGE
function highlight(strings, ...values) {
return strings.reduce((result, string, i) => {
const value = values[i] ? `<mark>${values[i]}</mark>` : '';
return result + string + value;
}, '');
}
const name = 'Sarah';
const skill = 'React';
const template = highlight`Hello ${name}, you're great at ${skill}!`;
console.log(template);