en
Feedback
JavaScript

JavaScript

Open in Telegram

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

Show more

πŸ“ˆ Analytical overview of Telegram channel JavaScript

Channel JavaScript (@javascript) in the English language segment is an active participant. Currently, the community unites 31 450 subscribers, ranking 4 377 in the Technologies & Applications category and 13 573 in the India region.

πŸ“Š Audience metrics and dynamics

Since its creation on Π½Π΅Π²Ρ–Π΄ΠΎΠΌΠΎ, the project has demonstrated rapid growth, gathering an audience of 31 450 subscribers.

According to the latest data from 11 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -198 over the last 30 days and by 17 over the last 24 hours, overall reach remains high.

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 6.20%. Within the first 24 hours after publication, content typically collects 2.53% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 1 949 views. Within the first day, a publication typically gains 797 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 7.
  • Thematic interests: Content is focused on key topics such as javascript, console.log(gen.next().value, processdata, remix, acc.

πŸ“ Description and content policy

The author describes the resource as a platform for expressing subjective opinions:
β€œ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”

Thanks to the high frequency of updates (latest data received on 12 June, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.

31 450
Subscribers
+1724 hours
-587 days
-19830 days
Posts Archive
What is the output?
Anonymous voting

CHALLENGE

const flags = {
  READ:    0b0001,
  WRITE:   0b0010,
  EXECUTE: 0b0100,
  DELETE:  0b1000,
};

const userPermissions  = flags.READ | flags.WRITE | flags.EXECUTE;
const adminPermissions = userPermissions | flags.DELETE;

const canDelete  = (adminPermissions & flags.DELETE)  !== 0;
const canExecute = (userPermissions  & flags.EXECUTE) !== 0;
const readOnly   = userPermissions   ^ flags.WRITE;

console.log(canDelete, canExecute, readOnly, adminPermissions >> 1);

😱 Bun's Zig-to-Rust porting saga continues, but what about Node...? The Rust-based rewrite of Bun has been merged, though th
😱 Bun's Zig-to-Rust porting saga continues, but what about Node...? The Rust-based rewrite of Bun has been merged, though there are questions over the quality of the AI-ported code. Matteo Collina and Luca Maraschi got together to πŸ˜‰ discuss the story and speculate whether Node could follow...

What is the output?
Anonymous voting

CHALLENGE

const config = {
  db: { host: "localhost", port: 5432 },
  cache: { ttl: 300 },
};

Object.freeze(config);

config.debug = true;
config.db.port = 9999;
config.cache = { ttl: 600 };

const sealed = Object.seal({ version: "1.0", meta: { build: 42 } });

sealed.version = "2.0";
sealed.author = "devteam";
sealed.meta.build = 99;

console.log(
  config.debug,
  config.db.port,
  config.cache.ttl,
  sealed.version,
  sealed.author,
  sealed.meta.build
);

🀟 An Official Codemod to Migrate from Axios to fetch A codemod (used via npx codemod) that transforms code using Axios to le
🀟 An Official Codemod to Migrate from Axios to fetch A codemod (used via npx codemod) that transforms code using Axios to leverage the WHATWG Fetch API, which is now natively available in Node.js. For some reason they don’t link to it in the post, but it’s here if you want to try it out (and here’s the underlying code). Augustin Mauroy

What is the output?
Anonymous voting

CHALLENGE
const prefix = "get";
const suffix = "Name";

const registry = {
  [`${prefix}Full${suffix}`]: function () {
    return `${this.first} ${this.last}`;
  },
  [`${prefix}Short${suffix}`]: function () {
    return this.first[0] + ". " + this.last;
  },
};

const person = {
  first: "Leonardo",
  last: "Fibonacci",
  ...registry,
};

const key = ["Full", "Short"][1];
console.log(person[`${prefix}${key}${suffix}`]());

🀟 A Fresh Chapter and New Look for Express For a while, Node’s long-standing web framework, Express.js, was looking a bit st
🀟 A Fresh Chapter and New Look for Express For a while, Node’s long-standing web framework, Express.js, was looking a bit stale and projects like Fastify were beginning to carry the torch, but a major reboot that began in 2024 brought Express back to the fore. Now Express’s brand, website, and docs have time-travelled to 2026 too. Sebastian Beltran

What is the output?
Anonymous voting

CHALLENGE

const tag = (strings, ...values) => {
  return strings.reduce((result, str, i) => {
    const value = values[i - 1];
    const transformed =
      typeof value === "number" ? `[${value ** 2}]` : `{${value}}`;
    return result + transformed + str;
  });
};

const name = "Sofia";
const score = 4;
const level = "gold";

const output = tag`Player: ${name}, Score: ${score}, Rank: ${level}`;
console.log(output);

✌️ Andrea Giammarchi proposes JSONRegistry (above), an alternative to JSON that lets you define a registry for serializing an
✌️ Andrea Giammarchi proposes JSONRegistry (above), an alternative to JSON that lets you define a registry for serializing and reviving custom/branded types.

What is the output?
Anonymous voting

CHALLENGE
const delay = (ms, val) => new Promise(res => setTimeout(res, ms, val));

async function* asyncGen() {
  yield await delay(10, "alpha");
  yield await delay(10, "beta");
  yield await delay(10, "gamma");
}

async function run() {
  const results = [];

  const gen = asyncGen();
  const [first, , third] = await Promise.all([
    gen.next(),
    gen.next(),
    gen.next()
  ]);

  results.push(first.value, third.value);

  const p1 = Promise.resolve("x").then(v => v + "1");
  const p2 = Promise.reject("err").catch(e => e + "2");

  results.push(...(await Promise.all([p1, p2])));
  console.log(results);
}

run();

πŸ‘€ Orval: Generate Type-Safe Clients from OpenAPI/Swagger Specs Given a valid OpenAPI v3 or Swagger v2 spec, generate models,
πŸ‘€ Orval: Generate Type-Safe Clients from OpenAPI/Swagger Specs Given a valid OpenAPI v3 or Swagger v2 spec, generate models, requests, hooks, and mocks for React, Vue, Svelte, Solid, and Hono apps, or even plain fetch. Victor Bury

What is the output?
Anonymous voting

CHALLENGE

const str = "JavaScript is Awesome!";

const result = str
  .split(" ")
  .map((word, i) => 
    i % 2 === 0
      ? word.toUpperCase()
      : word.toLowerCase()
  )
  .join("-");

const reversed = result
  .split("")
  .reduce((acc, char) => char + acc, "");

console.log(reversed);

πŸ€– Mark Erikson's Agent Setup, Workflow, and Tools Mark, well known for maintaining Redux and creating Redux Toolkit, goes de
πŸ€– Mark Erikson's Agent Setup, Workflow, and Tools Mark, well known for maintaining Redux and creating Redux Toolkit, goes deep into his daily development workflow, including his use of OpenCode (an open source JavaScript-powered coding agent), how he manages his knowledge base, tasks, and more. Mark Erikson

What is the output?
Anonymous voting

CHALLENGE

const createModule = (() => {
  const privateCache = new WeakMap();

  return function(name) {
    const state = { name, version: 1, active: true };
    privateCache.set(state, { accessCount: 0 });

    return {
      getInfo() {
        const meta = privateCache.get(state);
        meta.accessCount++;
        return `${state.name}@v${state.version}`;
      },
      getAccessCount() {
        return privateCache.get(state).accessCount;
      },
      upgrade() {
        state.version++;
        return this;
      }
    };
  };
})();

const mod = createModule("auth");
mod.upgrade().upgrade();
console.log(mod.getInfo());
console.log(mod.getAccessCount());