JavaScript @javascript Channel on Telegram

JavaScript

@javascript


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

JavaScript (English)

Are you passionate about JavaScript? Do you want to stay updated on the latest news, articles, books, and updates in the world of #javascript? Look no further than our resourceful newsletter - JavaScript! This channel is dedicated to providing you with valuable information about everything related to JavaScript, so you never miss out on any important updates. We also offer fun quizzes to test your knowledge and engage with other members of the community. Join us today and be part of the conversation! Let's chat and learn together at @nairihar. Don't miss out on the opportunity to expand your JavaScript knowledge and network with like-minded individuals. Stay informed, stay connected with JavaScript!

JavaScript

02 Dec, 15:32


✌️🤟 Math.js 14.0: An Extensive Math Library for Node and Browsers

Work with complex numbers, fractions, units, matrices, symbolic computation, etc. A long standing library now, but continuing to get frequent updates. GitHub repo.

Jos de Jong

JavaScript

02 Dec, 07:01


CHALLENGE


const obj = {
a: 1,
b: function() {
return this.a;
}
};
const b = obj.b;
console.log(b());

JavaScript

01 Dec, 14:30


💻 Deno v. Oracle: Cancelling the JavaScript Trademark

Did you know Oracle formally owns the ‘JavaScript’ trademark? There have been a few efforts to change this over the years (most recently via this open letter) but Oracle isn’t listening. The Deno team has now formally filed a petition to cancel the trademark which Deno claims is fradulent because Oracle used screenshots of Node.js, a project Oracle doesn’t even own, as evidence of the trademark’s use.

Deno

JavaScript

01 Dec, 06:30


CHALLENGE


console.log(0.1 + 0.2 === 0.3);

JavaScript

30 Nov, 13:35


Math.js 14.0: An Extensive Math Library for Node and Browsers

Work with complex numbers, fractions, units, matrices, symbolic computation, etc. A long standing library now, but continuing to get frequent updates. GitHub repo.

Jos de Jong

JavaScript

30 Nov, 06:30


CHALLENGE


const obj = { a: 1 };
Object.seal(obj);
obj.b = 2;
console.log(obj.b);

JavaScript

29 Nov, 14:03


🤔 Cheaters are breaking the technical interview... how?

Fireship

JavaScript

29 Nov, 06:30


CHALLENGE


const arr = [1, 2];
arr.length = 0;
console.log(arr[0]);

JavaScript

28 Nov, 13:25


✌️ JavaScript weekly #714

JavaScript

28 Nov, 09:51


😆

JavaScript

28 Nov, 06:30


CHALLENGE


const obj = {};
Object.defineProperty(obj, "prop", {
value: 42,
writable: false
});
obj.prop = 100;
console.log(obj.prop);

JavaScript

27 Nov, 13:24


👀 Viselect: Let Users Visually Select DOM Elements

If you’ve got a variety of elements and you want users to be able to select them in groups, individually, or even in multiple groups, this lets you offer that functionality easily. Can be used in a vanilla fashion or with integrations for P/React or Vue.js.

Simon Reinisch

JavaScript

27 Nov, 06:30


CHALLENGE


const x = (() => {
try {
return 10;
} finally {
return 20;
}
})();
console.log(x);

JavaScript

26 Nov, 13:23


✌️ Importing a Frontend JavaScript Library Without a Build System

Many developers prefer to eschew complex, modern build processes and use JavaScript in a more old-school way. You can definitely get by without a build system, and Julia explores some ways to import libraries in such a setup.

Julia Evans

JavaScript

26 Nov, 06:30


CHALLENGE


const arr = [1, 2, 3];
arr[-1] = 10;
console.log(arr.length, arr[-1]);

JavaScript

25 Nov, 09:44


😆

JavaScript

24 Nov, 12:30


😉 Microsoft Notepad.exe is overpowered now… and 13 other major updates for devs

Fireship

JavaScript

23 Nov, 07:48


⛽️ npmpackage.info: Detailed Package Info on a Single Page

Give this online tool the name of an npm package and you get a quick ‘dashboard’ style view of the project’s main statistics, covering areas like quality scores, commits, open issues, releases, bundle size, and more.

Shrinath Nayak

JavaScript

22 Nov, 07:49


💬 Discordeno v19: A Powerful Discord API Library

A long standing way to work with, and build bots for, the popular Discord chat system. v19 is a big update with breaking changes.

Discordeno Team

JavaScript

22 Nov, 06:30


CHALLENGE

const obj = {
valueOf: () => 42,
toString: () => "Hello"
};
console.log(`${obj}`, obj + 10);

JavaScript

21 Nov, 07:55


🌕 The plan to break apart Google... RIP Chrome


Fireship

JavaScript

20 Nov, 07:47


🤟 AWS Lambda Turns Ten: Looking Back and Looking Ahead

AWS Lambda, Amazon’s cloud function service, essentially launched the term ‘serverless’ and had a big impact on the use of Node.js in the cloud with Node v0.10 being the first and only runtime supported (till Java was added a year later).

Jeff Barr (AWS)

JavaScript

18 Nov, 05:02


👍 Lexical 0.20: An Easy-to-Extend Text Editor Framework from Meta

A text editor framework built by Meta with extensibility, accessibility, and cross platform support in mind (there’s even a Swift variant for iOS). There’s a live playground if you want to give it a try. React support is first class, but it can be adapted to work elsewhere (as with svelte-lexical).

Meta / Facebook

JavaScript

17 Nov, 12:02


✌️ JavaScript Import Attributes (ES2025) Explained

Import Attributes (now at stage 4 at TC39 and already supported in some runtimes) add a way to supply useful metadata about modules you’re importing.

Trevor I. Lasn

JavaScript

17 Nov, 06:30


CHALLENGE


console.log([…({ [Symbol.iterator]: function*(){ yield *[1, yield *[2,3] ] } })])

JavaScript

16 Nov, 11:58


👀 Component Party: A Rosetta Stone of UI Libraries

A long-standing comparison of many different frameworks (like React, Vue, Svelte, Angular, Qwik, Solid.js, etc.) by way of simple code snippets to perform various tasks. Now including Svelte 5 and Angular 17/Renaissance.

Mathieu Schimmerling

JavaScript

16 Nov, 06:31


CHALLENGE


Number.prototype[Symbol.iterator] = function*() { yield *['a','b','c'] };
console.log([...1]);

JavaScript

15 Nov, 04:56


😉 A day in the life of an iJS Conference Speaker | Munich 2024

Nairi Harutyunyan (nairihar)

JavaScript

14 Nov, 06:31


CHALLENGE


console.log([..."hello"]);

JavaScript

13 Nov, 15:47


🤟 Node.js weekly #​555

JavaScript

13 Nov, 06:30


CHALLENGE


const obj = {
a: 1,
b: 2,
a: 3
};
console.log(obj.a);

JavaScript

12 Nov, 13:49


✌️ If you are at the iJS Conference in Munich this week, let’s chat!

Nairi (@nairihar)

JavaScript

12 Nov, 13:43


😂

JavaScript

12 Nov, 06:30


CHALLENGE


const arr = [1, 2, 3];
arr[10] = 11;
console.log(arr.length);

JavaScript

11 Nov, 14:15


😆

JavaScript

11 Nov, 06:30


CHALLENGE


const name = "Alice";
const obj = {
name: "Bob",
getName() {
return this.name;
}
};

console.log(obj.getName.call({ name: "Charlie" }));

JavaScript

10 Nov, 13:06


✌️ JavaScript Weekly #​712

JavaScript

10 Nov, 06:30


CHALLENGE


const sym1 = Symbol("id");
const sym2 = Symbol("id");
console.log(sym1 === sym2);

JavaScript

09 Nov, 13:05


⛽️ npmpackage.info: Detailed Package Info on a Single Page

Give this online tool the name of an npm package and you get a quick ‘dashboard’ style view of the project’s main statistics, covering areas like quality scores, commits, open issues, releases, bundle size, and more.

Shrinath Nayak

JavaScript

09 Nov, 06:30


CHALLENGE


let name = "Alice";
(function() {
let name = "Bob";
console.log(name);
})();
console.log(name);

JavaScript

08 Nov, 13:03


✌️ JavaScript's ??= Operator: Default Values Made Simple

The ??= nullish coalescing assignment operator snuck into JavaScript a few years ago via ECMAScript 2021 and has been broadly supported almost everywhere for ages. Trevor shows off how it can tighten up your assignments here.

Trevor I. Lasn

JavaScript

08 Nov, 06:30


CHALLENGE


console.log(typeof typeof 42);

JavaScript

07 Nov, 13:54


🤟 Node.js weekly #​554

JavaScript

07 Nov, 06:30


CHALLENGE

const arr = [1, 2, 3];
const copy = [...arr];
copy.push(4);

console.log(arr);
console.log(copy);

JavaScript

06 Nov, 13:53


🤟 Why Code Security Matters - Even in Hardened Environments

A nicely diagrammed deep dive (and it really is deep) into a technique that allows malicious parties to turn a file write vulnerability in a Node app into a remote code execution exploit even when the file system is mounted read-only.

Stefan Schiller (Sonar)

JavaScript

06 Nov, 06:30


CHALLENGE

async function test() {
return (await Promise.resolve(0)) || 10;
}

test().then(console.log);

JavaScript

05 Nov, 13:24


🫡 Faker 9.1: Generate Fake, Realistic Data on Demand

Names, bios, addresses, zip codes, dates, monetary amounts, transactions, and a lot more besides. I really like the guided DevTools console based demo you can try – an idea other projects should consider. GitHub repo.

Faker.js Team

JavaScript

05 Nov, 06:30


CHALLENGE

const obj = { value: 10 };
const result = (obj.value += 5) && obj.value;
console.log(result);

JavaScript

04 Nov, 13:44


🌲 Tinybench 3.0: A Tiny, Simple Benchmarking Library

Uses whatever precise timing capabilities are available (e.g. process.hrtime or peformance.now). You can then benchmark whatever functions you want, specify how long or how many times to benchmark for, and get a variety of stats in return. GitHub repo.

Tinylibs

JavaScript

04 Nov, 06:30


CHALLENGE

const factorial = (function () {
const cache = {};
return function inner(n) {
if (n in cache) return cache[n];
return (cache[n] = n <= 1 ? 1 : n * inner(n - 1));
};
})();

console.log(factorial(5));
console.log(factorial(5));

JavaScript

03 Nov, 13:22


🌪 Python Jumps to #1 on GitHub Over JavaScript, But...

GitHub Universe took place this week, flooding us with data about how folks are using the platform. Of interest to those on social media was that Python has taken JavaScript's #1 language crown, though many argued that TypeScript (now #3) made an impact here. In positive news, JS still ranks first for code pushes alone and there's been a 15% jump in npm package consumption in the past year.

GitHub

JavaScript

03 Nov, 06:30


CHALLENGE

function Person(name) {
this.name = name;
this.sayName = () => console.log(this.name);
}

const person1 = new Person('David');
const person2 = { name: 'Not David', sayName: person1.sayName };

person2.sayName();

JavaScript

02 Nov, 13:08


this was in 2017, and it was only for the landing page

JavaScript

02 Nov, 06:30


CHALLENGE

const a = false || 0 || "" || null || "JavaScript";
console.log(a);

JavaScript

01 Nov, 13:23


✌️ JavaScript weekly #​711

JavaScript

01 Nov, 06:30


CHALLENGE

const obj = { a: 10 };
console.log(obj.a && obj.b || 20);

JavaScript

31 Oct, 13:21


✌️ JavaScript performance is weird... Write scientifically faster code with benchmarking


Beyond Fireship

JavaScript

31 Oct, 06:30


CHALLENGE

function memoize(fn) {
const cache = {};
return (arg) => cache[arg] ?? (cache[arg] = fn(arg));
}

const square = memoize((n) => n * n);

console.log(square(5));
console.log(square(5));
console.log(square(6));

JavaScript

30 Oct, 13:43


🤟 Transformers.js v3: Now You Can Run Transformers in Node.js

A JavaScript port of Hugging Face’s transformers Python library that makes it possible to run natural language, vision, and audio machine learning models. v3 adds WebGPU support and now supports Node (plus Deno and Bun) as well as the browser. 1200+ models are ready to run in areas like embeddings, text generation, and speech recognition (as with whisper-small).

Hugging Face

JavaScript

30 Oct, 06:30


CHALLENGE

console.log('A');

setTimeout(() => console.log('B'), 0);

Promise.resolve()
.then(() => {
console.log('C');
return Promise.resolve();
})
.then(() => console.log('D'));

console.log('E');

JavaScript

29 Oct, 13:07


👀 A neat way to find and tidy unused stuff in your projects

Knip finds unused files, dependencies and exports in your JavaScript and TypeScript projects. Less code and dependencies lead to improved performance, less maintenance and easier refactorings.

webpro-nl

JavaScript

29 Oct, 06:30


CHALLENGE

console.log(typeof null);
console.log(typeof function () {});

JavaScript

28 Oct, 13:34


🟠 Svelte 5 is Alive

The long awaited next major release of Svelte, the compiler-driven JS UI framework, is the “most significant release in the project’s history”, while remaining largely backwards compatible. A big addition is runes for explicitly declaring reactive state, but there’s much more besides. The official svelte.dev site has also undergone a big rebuild to act as an ‘omnisite’ for all things Svelte.

The Svelte Team

JavaScript

28 Oct, 06:30


CHALLENGE

const obj = {
value: 10,
getValue: function () {
return () => this.value;
}
};

const value = 20;
const getValue = obj.getValue();
console.log(getValue());

JavaScript

27 Oct, 13:36


✌️ JavaScript Weekly #710

JavaScript

27 Oct, 06:30


CHALLENGE

function Animal(name) {
this.name = name;
}
Animal.prototype.sound = 'Generic sound';

const dog = new Animal('Dog');

Animal.prototype.sound = 'Bark';
console.log(dog.sound);

JavaScript

26 Oct, 13:35


😉 Build a Sonic Infinite Runner Game Using Kaplay

A two hour walkthrough of using the Kaplay game library (formerly known as Kaboom.js) to build a complete, if simple, Sonic-branded game. You can also play it here.

JSLegendDev

JavaScript

26 Oct, 06:30


CHALLENGE

async function test() {
console.log(1);
await new Promise(resolve => setTimeout(resolve, 1000));
console.log(2);
return 3;
}

console.log(4);
test().then(console.log);
console.log(5);

JavaScript

25 Oct, 13:29


😎 The world's most loved .NET and game dev IDE

jetbrains

JavaScript

25 Oct, 06:30


CHALLENGE

console.log(typeof NaN);
console.log(NaN === NaN);

JavaScript

24 Oct, 15:45


🤟 Node v23.0.0 (Current) Released

Say hello to the newest release line of Node.js that gets all the cutting edge features first (Node 22 will soon become the active LTS release). v23 notably enables support for loading ES modules with require() by default, drops 32-bit Windows support, and node --run goes stable.

Rafael Gonzaga

JavaScript

24 Oct, 06:30


CHALLENGE

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

Person.prototype.greet = function () {
console.log(`Hello, ${this.name}`);
};

const person = new Person('Alice');
person.greet();

console.log(person.hasOwnProperty('greet'));

JavaScript

23 Oct, 13:51


🥶 Write Github Actions workflow files in TypeScript (compiles to YAML)

emmanuelnk

JavaScript

23 Oct, 06:30


CHALLENGE

for (var i = 0; i < 3; i++) {
setTimeout(() => console.log(i), 100);
}

JavaScript

22 Oct, 13:42


🤟 To ensure your Node.js version is secure, use:


npx is-my-node-vulnerable


A tool created and maintained by the Node.js security team. This utility allows you to quickly check for known vulnerabilities and helps safeguard your projects.

JavaScript

22 Oct, 06:30


CHALLENGE


const sym = Symbol('unique');
const obj = {
[sym]: 'Secret',
public: 'Visible'
};

console.log(Object.keys(obj));
console.log(obj[Symbol('unique')]);

JavaScript

21 Oct, 13:25


😆 True ...

It's just easy to start.

JavaScript

21 Oct, 06:30


CHALLENGE


Promise.resolve(1)
.then(value => {
console.log(value);
throw new Error('Something went wrong');
})
.then(() => {
console.log('This will not run');
})
.catch(error => {
console.log('Caught:', error.message);
return 42;
})
.then(value => {
console.log('Recovered with:', value);
});

JavaScript

19 Oct, 06:02


🥂 We Did It – 25K Subscribers!

We're excited to announce that our newsletter reached 25,000 subscribers! This was one of our biggest goals for 2024, and we couldn’t have done it without your amazing support.

Thank you for being part of this journey. We’ve got more exciting content coming, so stay tuned!

JavaScript

18 Oct, 13:17


👀 The Story of Web Framework Hono, By Its Creator

Hono is a neat, lightweight framework designed to run on any JavaScript runtime that has been picking up steam in the past year. You can create a simple app reminiscent of Express.js, say, but run it on Cloudflare Workers, Deno, Bun, or Node. It’s in heavy use all over the place, and has lots of interesting features like letting you write HTML with JSX.

Yusuke Wada

JavaScript

18 Oct, 06:30


CHALLENGE


const map = new Map();
const key1 = {};
const key2 = key1;

map.set(key1, "Value for key1");
map.set(key2, "Value for key2");

console.log(map.get({}));
console.log(map.get(key1));

JavaScript

17 Oct, 13:49


🤟 Node v20.18.0 (LTS) Released; v20 'Iron' Prepares to Bow Out as Active LTS Release

It’s been a quiet few weeks for official releases. This update marks one of the last in Node 20’s run as the active LTS release, and introduces experimental network inspection support. Node 22 will soon take over the active LTS crown (as per schedule) but what will its codename be given there are no elements starting with J? Amazingly, this question was asked six years ago and it's (probably) going to be Jod.

Michaël Zasso

JavaScript

17 Oct, 06:30


CHALLENGE


const obj = {};
Object.defineProperty(obj, 'name', {
value: 'Alice',
writable: false,
configurable: false
});

try {
obj.name = 'Bob';
delete obj.name;
console.log(obj.name);
} catch (e) {
console.log('Error:', e.message);
}

JavaScript

16 Oct, 09:17


✌️ 10 New JS Features You Should Know About

Awesome

JavaScript

16 Oct, 06:30


CHALLENGE


function processData({ a = 10, b = 20 } = { a: 30 }) {
console.log(a, b);
}

processData({ a: 5 });
processData();

JavaScript

15 Oct, 13:34


💻 Does Deno 2 really uncomplicate JavaScript?

Beyond Fireship

JavaScript

15 Oct, 06:30


CHALLENGE


function* numberGenerator() {
let i = 0;
while (i < 3) {
yield i++;
}
}

const gen = numberGenerator();
console.log(gen.next().value);
console.log(gen.return(10).value);
console.log(gen.next().value);

JavaScript

14 Oct, 15:40


🔥 The WordPress ecosystem has lost its mind…

JavaScript

14 Oct, 06:31


CHALLENGE


const obj = Object.freeze({
name: "Alice",
info: {
age: 25
}
});

try {
obj.name = "Bob";
obj.info.age = 30;
} catch (e) {
console.log("Error:", e.message);
}

console.log(obj.name, obj.info.age);

JavaScript

13 Oct, 13:22


👀 DOCX 9.0: Generate Word .docx Files from JavaScript

The code to lay out documents is verbose but there’s a lot of functionality baked in and there aren’t many other options for this task. Here’s a CodePen-based example to give you an idea. GitHub repo.

Dolan Miu

JavaScript

13 Oct, 06:30


CHALLENGE

async function first() {
console.log('First Start');
await second();
console.log('First End');
}

async function second() {
console.log('Second Start');
}

console.log('Script Start');
first();
setTimeout(() => console.log('Timeout'), 0);
console.log('Script End');

JavaScript

12 Oct, 13:20


✌️ TC39 Advances 10+ ECMAScript Proposals

The architects behind the development of the ECMAScript / JavaScript spec got together again this week (you can see them in this tweet) and they had a packed agenda. Import attributes, Iterator helpers, Promise.try and Regexp modifiers all made it to stage 4, and more besides.

Sarah Gooding (Socket)