JavaScript
32.1K subscribers
1.05K photos
10 videos
33 files
726 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

class Animal {
constructor(name) {
this.name = name;
}
speak() {
return `${this.name} makes a sound`;
}
}

class Dog extends Animal {
speak() {
return super.speak() + ' and barks';
}
}

const pet = new Dog('Rex');
console.log(pet.speak());
console.log(pet instanceof Animal);
console.log(pet.constructor.name);
โค4๐Ÿ‘1
โœŒ๏ธ The State of JavaScript 2025 Survey

Each year, Devographics runs an epic survey of as many JavaScript community members as it can and turns the results into an interesting report on the state of the ecosystem โ€“ hereโ€™s the results from 2024. If you have the time, fill it in, especially as they format it in a way where you can actually learn about stuff as you go.

Devographics
Please open Telegram to view this post
VIEW IN TELEGRAM
โค3๐Ÿค”2๐Ÿ”ฅ1
CHALLENGE

class DataProcessor {
constructor(value) {
this.value = value;
}

transform(fn) {
return new DataProcessor(fn(this.value));
}

getValue() {
return this.value;
}
}

const multiply = x => x * 2;
const add = x => x + 10;
const square = x => x * x;

const result = new DataProcessor(5)
.transform(multiply)
.transform(add)
.transform(square)
.getValue();

console.log(result);
โค1
What is the output?
Anonymous Quiz
22%
300
27%
100
45%
400
7%
625
โค8๐Ÿ‘3๐Ÿ”ฅ1
CHALLENGE

const Flyable = {
fly() { return 'flying'; }
};

const Swimmable = {
swim() { return 'swimming'; }
};

function mixin(Base, ...mixins) {
mixins.forEach(mixin => Object.assign(Base.prototype, mixin));
return Base;
}

class Bird {}
class Fish {}

const FlyingFish = mixin(class extends Fish {}, Flyable, Swimmable);
const instance = new FlyingFish();
console.log(instance.swim());
console.log(instance.fly());
console.log(instance instanceof Fish);
CHALLENGE

function createCounter() {
let count = 0;
return function(increment = 1) {
count += increment;
return count;
};
}

const counter1 = createCounter();
const counter2 = createCounter();

console.log(counter1());
console.log(counter1(5));
console.log(counter2(3));
console.log(counter1());
console.log(counter2());
โค10๐Ÿค”5
CHALLENGE

const arr = [1, 2, 3, 4, 5];
const obj = { a: 1, b: 2, c: 3 };

const result1 = Object.keys(obj).length;
const result2 = arr.length;

delete obj.b;
obj.d = 4;

const result3 = Object.keys(obj).length;
const result4 = arr.push(6);

arr.length = 3;

const result5 = arr.length;
const result6 = Object.keys(obj).join('');

console.log(result1, result2, result3, result4, result5, result6);
๐Ÿค”2
โค6๐Ÿ‘1๐Ÿ”ฅ1
๐Ÿ’ป How Deno Protects Against npm Exploits

The maintainers of the Deno runtime reflect on the recent npm ecosystem security issues and show off how Denoโ€™s non-permissive explicit โ€˜secure by defaultโ€™ model can help.

Andy Jiang
Please open Telegram to view this post
VIEW IN TELEGRAM
โค5๐Ÿ”ฅ3๐Ÿ‘2๐Ÿคฉ1
CHALLENGE

const multiply = (a) => (b) => (c) => a * b * c;

const step1 = multiply(2);
const step2 = step1(3);
const result1 = step2(4);

const partialMult = multiply(5)(6);
const result2 = partialMult(7);

const directResult = multiply(1)(8)(9);

console.log(result1);
console.log(result2);
console.log(directResult);
console.log(typeof step1);
console.log(typeof partialMult);
โค1
๐ŸคŸ 15 Recent Node Features That Can Replace Popular npm Packages

Many features that once required third-party packages are now built into the runtime itself. Hereโ€™s a look at some of the most notable that you may want to experiment with, prior to reducing unnecessary dependencies.

Lizz Parody
Please open Telegram to view this post
VIEW IN TELEGRAM
โค8๐Ÿ”ฅ4๐Ÿ‘1๐Ÿคฉ1
CHALLENGE

function mystery(arr, depth = 0) {
if (arr.length <= 1) return arr;

const mid = Math.floor(arr.length / 2);
const left = mystery(arr.slice(0, mid), depth + 1);
const right = mystery(arr.slice(mid), depth + 1);

const result = [];
let i = 0, j = 0;

while (i < left.length && j < right.length) {
result.push(left[i] <= right[j] ? left[i++] : right[j++]);
}

return result.concat(left.slice(i)).concat(right.slice(j));
}

const arr = [3, 1, 4, 1, 5];
console.log(mystery(arr));
โค4
๐Ÿ”ฅ3โค2๐Ÿ‘1
๐Ÿ˜ฎ New Era for React = Stronger JavaScript Ecosystem ๐Ÿ’™

We're thrilled that React is coming under the The Linux Foundation to create the React Foundation.

React doesnโ€™t live in isolation - It works alongside Node.js, Electron, Webpack, and more. A dedicated foundation means more collaboration, security, and sustainability across the ecosystem.

OpenJS Foundation
Please open Telegram to view this post
VIEW IN TELEGRAM
โค8๐Ÿ‘7๐Ÿค”1
CHALLENGE

const ws = new WeakSet();
const obj1 = { name: 'first' };
const obj2 = { name: 'second' };
const obj3 = obj1;

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

console.log(ws.has(obj1));
console.log(ws.has(obj3));
console.log(ws.has({ name: 'first' }));
console.log(ws.size);
โค2
โค3๐Ÿ‘3๐Ÿ”ฅ1
Please open Telegram to view this post
VIEW IN TELEGRAM
โค3๐Ÿ”ฅ2๐Ÿคฃ1