JavaScript
32K subscribers
1.03K photos
10 videos
33 files
715 links
A resourceful newsletter featuring the latest and most important news, articles, books and updates in the world of #javascript 🚀 Don't miss our Quizzes!

Let's chat: @nairihar
Download Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣41👍3🔥2
CHALLENGE

class StateMachine {
constructor() {
this.state = 'idle';
this.transitions = {
idle: { start: 'running', reset: 'idle' },
running: { pause: 'paused', stop: 'stopped' },
paused: { resume: 'running', stop: 'stopped' },
stopped: { reset: 'idle' }
};
}

transition(action) {
const nextState = this.transitions[this.state]?.[action];
if (nextState) {
this.state = nextState;
return true;
}
return false;
}
}

const sm = new StateMachine();
console.log(sm.transition('start'));
console.log(sm.state);
console.log(sm.transition('reset'));
console.log(sm.state);
6👍2🤔1
CHALLENGE

const target = { name: 'Sarah', age: 25 };
const handler = {
get(obj, prop) {
if (prop === 'toString') {
return () => `Person: ${obj.name}`;
}
return Reflect.get(obj, prop);
},
has(obj, prop) {
return prop !== 'age' && Reflect.has(obj, prop);
}
};
const proxy = new Proxy(target, handler);
console.log(proxy.name);
console.log('age' in proxy);
console.log(proxy.toString());
🤩2
CHALLENGE

async function processData() {
console.log('Start');

const promise1 = new Promise(resolve => {
console.log('Promise 1 executor');
resolve('Result 1');
});

const promise2 = Promise.resolve('Result 2');
console.log('After promises created');

const result1 = await promise1;
console.log(result1);

const result2 = await promise2;
console.log(result2);

return 'Done';
}

processData().then(result => console.log(result));
👀 Give Your AI Eyes: Introducing Chrome DevTools MCP

The Chrome team has released an MCP server for Chrome DevTools, enabling agents like Claude Code or OpenAI Codex to use the DevTools to debug and analyze the performance and behavior of your webapps (or even just to automate the use of Chrome generally). Addy does a great job of explaining the potential here.

Addy Osmani
Please open Telegram to view this post
VIEW IN TELEGRAM
1