JavaScript
31.9K subscribers
1K photos
9 videos
33 files
688 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
加ε…₯钑道
✌️ How V8 is Making JSON.stringify More Than Twice as Fast

The V8 team has made JSON.stringify over twice as fast, giving your apps an automatic performance boost for common tasks like API responses and caching, at least once Node upgrades to V8 13.8 (Node 24 uses V8 13.6). This article unpacks the low-level work behind the speedup.

Patrick Thier (V8)
Please open Telegram to view this post
VIEW IN TELEGRAM
❀8πŸ”₯4πŸ‘2
CHALLENGE

class Counter {
constructor(max) {
this.max = max;
}

*[Symbol.iterator]() {
let current = 0;
while (current < this.max) {
yield current++;
}
}
}

const counter = new Counter(3);
const result = [...counter, ...counter];
console.log(result);
❀4
❀3πŸ”₯3
πŸ’» The Deno team has put together πŸ˜‰ a brief video summarizing the Deno vs Oracle JavaScriptβ„’ trademark fight. You can also learn a bit more about it in this open letter to Oracle asking it to 'free JavaScript.'
Please open Telegram to view this post
VIEW IN TELEGRAM
❀4πŸ‘4πŸ”₯1
❀10🀣10πŸ€”4πŸ‘2πŸ”₯1
CHALLENGE

const numbers = [1, 2, 3, 4, 5];

const result = numbers
.map(n => n * 2)
.filter(n => n > 5)
.reduce((acc, n, index) => {
acc.sum += n;
acc.indices.push(index);
return acc;
}, { sum: 0, indices: [] });

console.log(result.sum);
console.log(result.indices);
πŸ€”10❀3
πŸ€”24❀4
Sorry for the confusion earlier! The correct answer is actually 24, not 18.
After mapping and filtering, we get [6, 8, 10], and summing them gives 6 + 8 + 10 = 24.

Thanks Fabricio for the note
πŸ‘17🀣11πŸ”₯4❀1🀩1
CHALLENGE

function processData(data) {
try {
if (!data) {
throw new TypeError('Data is missing');
}

const result = data.process();
return result;
} catch (error) {
console.log(error instanceof ReferenceError ? 1 :
error instanceof TypeError ? 2 :
error instanceof SyntaxError ? 3 : 4);
}
}

processData(null);
πŸ‘4❀2
What is the output?
Anonymous Quiz
16%
1
44%
2
34%
undefined
5%
4
❀4πŸ‘4πŸ”₯3πŸ€”1
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘4πŸ€”4πŸ”₯3❀1
🀩 pnpm 10.14: Adds Support for JavaScript Runtime Installation

The popular, efficiency-focused package installer now lets you define Node.js, Deno or Bun versions in package.json and pnpm will then download and pin them automatically.

Zoltan Kochan
Please open Telegram to view this post
VIEW IN TELEGRAM
❀6πŸ‘4πŸ”₯1
CHALLENGE

const obj = {
name: 'Sarah',
getName() {
return this.name;
},
getNameArrow: () => {
return this.name;
}
};

const getName = obj.getName;
const getNameArrow = obj.getNameArrow;

console.log(obj.getName());
console.log(getName());
console.log(getNameArrow());
console.log(obj.getNameArrow());
πŸ€”1🀩1
⚑️DevHelperAI β€” AI Assistant for Programmers

Speed up solving programming tasks in any language β€” Python, JavaScript, Java, and more. Powered by ChatGPT Plus, but 3Γ— cheaper! Don’t overpay $20 for ChatGPT Plus β€” pay just $7.25 and get faster, more accurate answers. Try DevHelperAI now! πŸ‘‡
First month FREE !

@devhelperai_bot
Please open Telegram to view this post
VIEW IN TELEGRAM
❀10πŸ‘4πŸ”₯1
CHALLENGE

const target = { name: 'Maya', age: 25 };
const handler = {
get(obj, prop) {
if (prop in obj) {
return obj[prop];
}
return `Property '${prop}' not found`;
},
set(obj, prop, value) {
if (typeof value === 'string') {
obj[prop] = value.toUpperCase();
} else {
obj[prop] = value;
}
return true;
}
};
const proxy = new Proxy(target, handler);
proxy.city = 'tokyo';
console.log(proxy.name);
console.log(proxy.city);
console.log(proxy.country);
❀2
πŸ₯Ά Announcing TypeScript 5.9

One of TypeScript's gentlest steps forward, with support for import defer, --module node20, and β€˜expandable hovers’ (below) to see expanded type information in IDEs. We also learn v6.0 will act as a β€˜transition point’ to get prepared for the Go-powered β€˜native port’ of TypeScript due to arrive as TypeScript 7.0.

Microsoft
Please open Telegram to view this post
VIEW IN TELEGRAM
❀5πŸ‘1πŸ”₯1
CHALLENGE

const numbers = [1, 2, 3, 4, 5];

const result = numbers
.map(x => x * 2)
.filter(x => x > 5)
.reduce((acc, x) => {
acc.push(x.toString());
return acc;
}, [])
.map(x => x + '!')
.join(' | ');

console.log(result);
console.log(typeof result);
πŸ‘3❀1
❀5πŸ‘2πŸ”₯1