JavaScript
31.9K subscribers
1.01K photos
9 videos
33 files
691 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
CHALLENGE

function modify(obj) {
obj.a.push(4);
obj.b = 'changed';
return obj;
}

const original = { a: [1, 2, 3], b: 'original', c: { deep: true } };
const copy1 = { ...original };
const copy2 = JSON.parse(JSON.stringify(original));

modify(copy1);
console.log(original.a, original.b, copy2.c === original.c);
πŸ‘5❀1🀩1
CHALLENGE

const result = (function() {
let count = 0;

return {
increment() {
return ++count;
},
get value() {
return count;
},
reset() {
const oldCount = count;
count = 0;
return oldCount;
}
};
})();

result.increment();
result.increment();
console.log(result.reset() + result.value + result.increment());
πŸ‘1
What is the output?
Anonymous Quiz
29%
3
29%
201
28%
2undefined1
13%
2
πŸ€”6❀3πŸ‘2πŸ”₯2
πŸ€” I Think the Ergonomics of Generators is Growing on Me

The author notes generator functions have been widely available in JavaScript for a long time, yet β€œtheir practicality hasn’t exactly caught on.” This is a great look at what they are and where they can be useful.

Alex MacArthur
Please open Telegram to view this post
VIEW IN TELEGRAM
❀5🀣2πŸ”₯1
Media is too big
VIEW IN TELEGRAM
πŸ₯ƒ We often get feedback asking us to include answers to the quizzesβ€”but honestly, some of them need more explanation than a Marvel movie plot. It’s way better if you use Google or GPT to dig into the questions and uncover the answers like the true quiz detective you are!
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘13🀣7❀3πŸ”₯1🀩1
πŸ™ To continue delivering more exciting stories, we're kindly asking telegram premium users to help us (boost) take things to the next level.

We need 40 boosts 😭

https://t.me/javascript?boost
Please open Telegram to view this post
VIEW IN TELEGRAM
1πŸ‘9❀3πŸ”₯2πŸ€”2
CHALLENGE

try {
const arr = [1, 2, 3];

function processArray() {
try {
nonExistentFunction();
} catch (err) {
throw new TypeError('Invalid type');
}
}

try {
processArray();
} catch (err) {
console.log(err instanceof Error, err instanceof TypeError, err.message);
}
} catch (finalError) {
console.log('Caught in outer block:', finalError);
}
🀨 ANSIS 4.0: ANSI Color Library for Everywhere

A library to use the power of ANSI escape sequences for coloring and styling text in many environments including the terminal, Chromium-based browsers, Node, Bun, Deno, and even Next.js. v4.0 is a big upgrade with enough breaking changes to warrant a migration guide for existing users.

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

const target = { a: 1, b: 2 };
const handler = {
get(obj, prop) {
return prop in obj ? obj[prop] * 2 : 'Not found';
}
};

const proxy = new Proxy(target, handler);

// Add property to original object
target.c = 3;

// Modify existing property directly on proxy
proxy.a = 10;

// Use Reflect.get instead of direct property access
const result = Reflect.get(proxy, 'd', { custom: true });

console.log(proxy.a, proxy.b, proxy.c, result);
❀7πŸ‘4πŸ”₯1
πŸ‘3πŸ”₯2❀1
✌️ A Brief History of JavaScript

JavaScript (originally named LiveScript) turns thirty years old this year and the Deno team has put together a fantastic timeline-based tour of how much things have progressed from its first appearance in Netscape Navigator, through offshoots like JScript, standardization, and the introduction of Node.js, all the way through to the modern day.

The Deno Team
Please open Telegram to view this post
VIEW IN TELEGRAM
❀12πŸ‘2πŸ”₯1
CHALLENGE

function analyze(...items) {
const [first, ...rest] = items;
const { length } = [...rest, 'bonus'];
const result = {
...first,
count: length,
};

console.log(result);
}

analyze({ id: 42, name: 'Item' }, 'a', 'b');
❀5πŸ‘1🀩1
CHALLENGE

const user = { id: 1, name: 'Alice' };
const userData = new WeakMap();

userData.set(user, { lastLogin: '2023-01-01' });
const clone = { ...user };

const originalData = userData.get(user);
const cloneData = userData.get(clone);

console.log(originalData, cloneData);
❀1πŸ‘1
πŸ“Έ πŸ˜‰ What's New in Angular

Two members of the Angular team presented a session at this week’s Google I/O event on the latest updates to the Angular framework in anticipation of the eventual release of Angular 20 next Thursday.

Chasanoff and Thompson (Google)
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ”₯4πŸ‘2