JavaScript
31.4K subscribers
1.18K photos
10 videos
33 files
858 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 a = 9007199254740991n;
const b = BigInt(Number.MAX_SAFE_INTEGER);

console.log(a === b);
console.log(a + 1n);
console.log(typeof a);
console.log(a === 9007199254740991);
๐Ÿ‘4๐Ÿ”ฅ1
CHALLENGE


const config = {
timeout: 0,
retries: null,
host: "",
port: undefined,
debug: false,
};

const timeout = config.timeout ?? 3000;
const retries = config.retries ?? 5;
const host = config.host ?? "localhost";
const port = config.port ?? 8080;
const debug = config.debug ?? true;

console.log(timeout, retries, host, port, debug);
โค7๐Ÿ‘3๐Ÿ”ฅ1
๐Ÿ‘€ Hocuspocus 4: Add Real-Time Collaboration to Any App

A plug-and-play real-time collaboration backend based on Yjs so you can quickly and safely wire up multi-user collaborative experiences into a JavaScript app. It runs on Node, Bun, Deno, or Cloudflare Workers. GitHub repo.

Tiptap
Please open Telegram to view this post
VIEW IN TELEGRAM
๐Ÿ”ฅ7โค4๐Ÿ‘2
CHALLENGE

"use strict";

function createCounter() {
let count = 0;

return {
increment() { count++; },
get value() { return count; },
toString() { return `Counter: ${count}`; }
};
}

const counter = createCounter();
counter.increment();
counter.increment();
counter.increment();

try {
counter.value = 99;
} catch (e) {
console.log(`${e.constructor.name}: ${counter}`);
}
โค3
๐Ÿ“Š Plotly 3.6: The Declarative Graphing Library

A long-standing library, also widely used in the Python and R ecosystems, that offers over 50 visualization types, from basic charts and graphs to maps, plots, and heatmaps.

Plotly, Inc.
Please open Telegram to view this post
VIEW IN TELEGRAM
โค6๐Ÿ”ฅ3๐Ÿ‘2
CHALLENGE


function Animal(name) {
this.name = name;
}

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

function Dog(name, breed) {
Animal.call(this, name);
this.breed = breed;
}

Dog.prototype = Object.create(Animal.prototype);
Dog.prototype.constructor = Dog;

Dog.prototype.speak = function () {
return `${this.name} barks!`;
};

const dog = new Dog("Rex", "Labrador");

console.log(dog.speak());
console.log(dog instanceof Dog);
console.log(dog instanceof Animal);
console.log(Object.getPrototypeOf(dog) === Animal.prototype);
๐Ÿ‘1
Programming language legend ๐Ÿ˜‰ Anders Hejlsberg was on The Pragmatic Engineer talking about his background, work on TypeScript, JavaScript's strengths and weaknesses, and how he uses AI.
Please open Telegram to view this post
VIEW IN TELEGRAM
๐Ÿ‘6โค4๐Ÿ”ฅ2
CHALLENGE

const person = {
name: "Marcus",
greet: function () {
const inner = () => `Hello, I am ${this.name}`;
return inner();
},
greetArrow: () => {
return `Hello, I am ${this.name}`;
},
};

const detached = person.greet;

console.log(person.greet());
console.log(person.greetArrow());
console.log(detached?.());
๐Ÿ‘3
CHALLENGE


const transactions = [
{ type: "credit", amount: 200, category: "salary" },
{ type: "debit", amount: 50, category: "food" },
{ type: "debit", amount: 30, category: "food" },
{ type: "credit", amount: 100, category: "bonus" },
{ type: "debit", amount: 70, category: "transport" },
];

const summary = transactions.reduce((acc, { type, amount, category }) => {
acc.balance += type === "credit" ? amount : -amount;
acc.byCategory[category] = (acc.byCategory[category] ?? 0) + amount;
acc.count[type] = (acc.count[type] ?? 0) + 1;
return acc;
}, { balance: 0, byCategory: {}, count: {} });

console.log(summary.balance);
console.log(JSON.stringify(summary.byCategory));
console.log(JSON.stringify(summary.count));
โค2
๐Ÿ˜ฎ replacements.fyi: Find Replacements for npm Packages

Type in a package name and get suggestions of lighter alternatives or Node APIs and code snippets that do the same task. For example: is-number leads to a one-liner, axios turns into fetch, and chalk recommends util.styleText. A neat idea itโ€™d be cool to see grow further.

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

class Pipeline {
#value;
#log = [];

constructor(value) {
this.#value = value;
}

map(fn) {
this.#value = fn(this.#value);
this.#log.push(`map:${this.#value}`);
return this;
}

filter(fn) {
if (Array.isArray(this.#value)) {
this.#value = this.#value.filter(fn);
this.#log.push(`filter:${this.#value}`);
}
return this;
}

reduce(fn, init) {
this.#value = this.#value.reduce(fn, init);
this.#log.push(`reduce:${this.#value}`);
return this;
}

result() {
console.log(this.#log.join(' | '));
return this.#value;
}
}

const output = new Pipeline([1, 2, 3, 4, 5, 6])
.filter(x => x % 2 === 0)
.map(arr => arr.map(x => x ** 2))
.reduce((acc, x) => acc + x, 0)
.result();

console.log(output);
โค3๐Ÿ‘1
๐ŸŒช GitHub Copilot SDK Now Generally Available

Available for several platforms, including Node, this SDK lets you wield the agentic engine behind Copilot in your own apps (coupled with your own custom-built tools) and it uses an existing Copilot subscription. The getting started tutorial provides a good intro and the cookbook includes some sample apps.

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