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
49%
SARAH 25 100000 Property city not found
38%
SARAH 25 50000 Property city not found
11%
Sarah 25 50000 undefined
2%
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);CHALLENGE
const str = 'JavaScript';
const result1 = str.slice(-6, -2);
const result2 = str.substring(-6, -2);
const result3 = str.substr(-6, 4);
const combined = [result1, result2, result3];
const final = combined.map(s => s || 'empty').join(' | ');
console.log(final);
What is the output?
Anonymous Quiz
25%
Scri | JavaScript | Scri
36%
Script | empty | Script
30%
Scri | empty | Scri
9%
Scri | | Scri
π€6β€3π1π₯1
Please open Telegram to view this post
VIEW IN TELEGRAM
β€4π€£3π2π₯1
First there was the "use strict" directive to opt in to strict mode in JavaScript, but now youβll encounter use client, use server, React's new use no memo, and more, and they're not standard JS features at all. Tanner thinks this proliferation of directives comes at a cost, with an increased risk of framework and tooling lock-in.
Tanner Linsley (TanStack)
Please open Telegram to view this post
VIEW IN TELEGRAM