JavaScript
31.9K subscribers
1.01K photos
9 videos
33 files
693 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
What is the output?
Anonymous Quiz
19%
ReferenceError: Animal is not defined
18%
false
39%
true
πŸ‘6❀2πŸ”₯2
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ€”6πŸ”₯3❀2πŸ‘2
CHALLENGE

const company = {
name: 'TechCorp',
departments: {
engineering: {
head: { name: 'Alice', contact: null },
staff: 50
},
marketing: null
}
};

const engineeringContact = company.departments.engineering.head.contact;
const marketingHead = company.departments.marketing?.head?.name;
const financeStaff = company?.departments?.finance?.staff ?? 'Not available';

console.log(`${engineeringContact} - ${marketingHead} - ${financeStaff}`);
πŸ‘10🀩2❀1
Please open Telegram to view this post
VIEW IN TELEGRAM
❀5πŸ”₯4🀣3πŸ‘1πŸ€”1
CHALLENGE

const userMap = new WeakMap();

const user1 = { name: 'Alice' };
const user2 = { name: 'Bob' };

userMap.set(user1, { visits: 10 });
userMap.set(user2, { visits: 5 });

// Later in the code...
const entries = [];
for (const obj of [user1, null, user2]) {
if (obj !== null && userMap.has(obj)) {
entries.push(userMap.get(obj).visits);
}
}

console.log(entries.reduce((sum, visits) => sum + visits, 0));
❀4πŸ”₯3πŸ‘2
πŸ‘3❀2πŸ”₯2
πŸ‘ PGlite: Run Postgres in WebAssembly

PGlite packages a WASM build of Postgres into a TypeScript library that can be run directly from Node.js (or Bun, Deno, and even the browser) and it’s only a few megabytes in size.

ElectricSQL / Neon
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘5❀2πŸ”₯2
CHALLENGE

function outer() {
let x = 10;

function inner() {
console.log(x);

if(true) {
let x = 20;
console.log(x);
}

console.log(x);
}

inner();
}

outer();
πŸ‘7❀1
πŸ‘11❀3πŸ”₯1
πŸ”Ž Node Modules Inspector

A tool that runs pnpm inside your browser, β€œinstalls” a package, then analyzes its dependencies. This can be useful for analyzing packages you already use, but also for simplifying your own projects, as 11ty’s Zach Leatherman did here.

Anthony Fu
Please open Telegram to view this post
VIEW IN TELEGRAM
❀10πŸ‘6πŸ”₯1
CHALLENGE

const ws = new WeakSet();
const obj1 = { id: 1 };
const obj2 = { id: 2 };

ws.add(obj1);
ws.add(obj2);
ws.delete(obj1);

const obj3 = { id: 2 };

console.log([
ws.has(obj2),
ws.has(obj1),
ws.has(obj3),
ws.has({ id: 2 })
]);
πŸ‘8πŸ”₯2
πŸ‘8πŸ”₯3❀2πŸ€”2🀣1
⭐ A fantastic introduction to latency in IO devices (above) over on the PlanetScale blog, complete with very useful interactive diagrams built in JavaScript.
Please open Telegram to view this post
VIEW IN TELEGRAM
❀4πŸ‘2πŸ”₯2
CHALLENGE

class Task {
constructor(name) {
this.name = name;
}
async execute() {
const result = await Promise.resolve(this.name);
return { result };
}
}

const task = new Task('test');
task.execute().then(console.log);
πŸ”₯7πŸ‘2
πŸ‘8❀4πŸ”₯2
🀨 A Perplexing JavaScript Parsing Puzzle

It looks deceptively simple – just 14 characters of JavaScript – but after working with JavaScript for 29 years, I got it wrong. A clue: it goes back to a browser-related quirk from 30 years ago..

Hillel Wayne
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘3❀2πŸ”₯1
CHALLENGE

const users = [
{ id: 1, name: 'Alice', age: 25 },
{ id: 2, name: 'Bob', age: 30 },
{ id: 3, name: 'Charlie', age: 35 }
];

const result = users
.filter(user => user.age > 25)
.map(user => user.name.toUpperCase())
.reduce((acc, name) => acc + name[0], '');

console.log(result);
πŸ‘3πŸ”₯2❀1
πŸ‘15🀣12πŸ”₯5❀2πŸ€”2
πŸ˜†
Please open Telegram to view this post
VIEW IN TELEGRAM
🀣109πŸ‘9❀2