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

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
CHALLENGE

const obj = {
name: 'Sarah',
greet: () => {
console.log(`Hello, ${this.name}`);
},
sayHi: function() {
const inner = () => {
console.log(`Hi, ${this.name}`);
};
inner();
}
};

obj.greet();
obj.sayHi();
โค2
โค7๐Ÿคฃ3๐Ÿค”2๐Ÿ”ฅ1
CHALLENGE

class Observable {
constructor(subscribe) {
this.subscribe = subscribe;
}

map(fn) {
return new Observable(observer => {
return this.subscribe({
next: value => observer.next(fn(value)),
error: err => observer.error(err),
complete: () => observer.complete()
});
});
}
}

const source = new Observable(observer => {
observer.next(1);
observer.next(2);
observer.complete();
});

const doubled = source.map(x => x * 2);
doubled.subscribe({
next: value => console.log(value),
complete: () => console.log('done')
});
โค3๐Ÿค”2
โค2๐Ÿ‘2๐Ÿ”ฅ2๐Ÿค”2
๐Ÿ’Œ Vite: The Documentary

From the same creators of the fantastic ๐Ÿ˜‰ Node.js, ๐Ÿ˜‰ Angular and ๐Ÿ˜‰ React documentaries comes an up to date look at Vite, the build tool that has taken the JavaScript ecosystem by storm in recent years. Many luminaries make an appearance to tell their stories, including Evan You, Rich Harris, and Ryan Carniato. (39 minutes.)

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

const obj = {
name: 'Sarah',
greet() {
return `Hello, ${this.name}`;
},
delayedGreet() {
const fn = function() {
return this.greet();
};
return fn.call(this);
}
};

const result = obj.delayedGreet();
console.log(result);
โค1
โค2๐Ÿ‘1๐Ÿ”ฅ1๐Ÿค”1๐Ÿคฉ1
๐Ÿ“ฅ The Birth of Prettier

The author takes us back ten years to the genesis of Prettier, the popular opinionated, deterministic code formatter he co-created with James Long. Prettier effectively introduced and popularized the practice of fully-automated AST-based code formatting in the JavaScript ecosystem.

Christopher Chedeau (Vjeux)
Please open Telegram to view this post
VIEW IN TELEGRAM
โค8๐Ÿ‘2๐Ÿ”ฅ1
CHALLENGE

class Calculator {
static multiply(a, b) {
return a * b;
}

static add = (a, b) => {
return a + b;
}
}

class ScientificCalculator extends Calculator {
static multiply(a, b) {
return super.multiply(a, b) * 2;
}
}

console.log(Calculator.multiply(3, 4));
console.log(ScientificCalculator.add(5, 6));
console.log(ScientificCalculator.multiply(2, 3));
โค2