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
class BankAccount {
  #balance;
  #transactionLog = [];

  constructor(initialBalance) {
    this.#balance = initialBalance;
  }

  deposit(amount) {
    this.#balance += amount;
    this.#transactionLog.push(`+${amount}`);
    return this;
  }

  withdraw(amount) {
    if (amount > this.#balance) throw new Error("Insufficient funds");
    this.#balance -= amount;
    this.#transactionLog.push(`-${amount}`);
    return this;
  }

  get summary() {
    return `Balance: ${this.#balance} | Txns: ${this.#transactionLog.join(", ")}`;
  }
}

const account = new BankAccount(100);
account.deposit(50).deposit(25).withdraw(30);
console.log(account.summary);
console.log(account.hasOwnProperty("#balance"));

๐Ÿ˜ฎ Geometric.js: A Library for Doing Geometry Created by someone who works on graphics for the NYT, this elegant library lets
๐Ÿ˜ฎ Geometric.js: A Library for Doing Geometry Created by someone who works on graphics for the NYT, this elegant library lets you work with polygons, bounding boxes, reflection, interpolation, rotation, and the like (examples). Does one polygon intersect with another? Thereโ€™s a function for that. Harry Stevens (The New York Times)

What is the output?
Anonymous voting

CHALLENGE
const handler = {
  get(target, prop, receiver) {
    if (prop in target) {
      return Reflect.get(target, prop, receiver) * 2;
    }
    return `missing:${prop}`;
  },
  set(target, prop, value) {
    if (typeof value !== "number") {
      throw new TypeError("Only numbers allowed");
    }
    Reflect.set(target, prop, value + 10);
    return true;
  },
  has(target, prop) {
    return prop.startsWith("x") ? false : prop in target;
  },
};

const store = new Proxy({ xray: 5, zoom: 8 }, handler);

store.nova = 3;
console.log(store.xray);
console.log(store.nova);
console.log(store.ghost);
console.log("zoom" in store);
console.log("xray" in store);

๐Ÿ‘€ VoidZero is Joining Cloudflare One of the yearโ€™s big moves in JS tooling, as told by Evan himself. The company he founded
๐Ÿ‘€ VoidZero is Joining Cloudflare One of the yearโ€™s big moves in JS tooling, as told by Evan himself. The company he founded to build Vite, Vitest, Rolldown, Oxc, etc. is joining Cloudflare. Heโ€™s candid about why (monetization is hard). Good news: all projects stay MIT-licensed, and Evan and co remain in charge. Evan You

What is the output?
Anonymous voting

CHALLENGE
class Registry {
  static #instances = new Map();
  static #count = 0;
  static defaultTTL;
  static maxSize;

  static {
    Registry.defaultTTL = 3600;
    Registry.maxSize = 100;
    Registry.#instances.set("__init__", { ts: 0 });
    Registry.#count = Registry.#instances.size;
  }

  static register(key) {
    if (Registry.#count >= Registry.maxSize) return false;
    Registry.#instances.set(key, { ts: Registry.defaultTTL });
    Registry.#count++;
    return true;
  }

  static info() {
    return `count=${Registry.#count}, ttl=${Registry.defaultTTL}, max=${Registry.maxSize}`;
  }
}

Registry.register("service-a");
Registry.register("service-b");
console.log(Registry.info());

What is the output?
Anonymous voting

CHALLENGE

const memoize = (fn) => {
  const cache = new Map();
  return (...args) => {
    const key = JSON.stringify(args);
    if (cache.has(key)) {
      return cache.get(key);
    }
    const result = fn(...args);
    cache.set(key, result);
    return result;
  };
};

let callCount = 0;

const expensiveMultiply = memoize((a, b) => {
  callCount++;
  return a * b;
});

console.log(expensiveMultiply(4, 5));
console.log(expensiveMultiply(4, 5));
console.log(expensiveMultiply(3, 7));
console.log(expensiveMultiply(4, 5));
console.log(`calls: ${callCount}`);

๐ŸŒช GitHub Copilot SDK Now Generally Available Available for several platforms, including Node, this SDK lets you wield the ag
๐ŸŒช 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

What is the output?
Anonymous voting

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);

๐Ÿ˜ฎ replacements.fyi: Find Replacements for npm Packages Type in a package name and get suggestions of lighter alternatives or
๐Ÿ˜ฎ 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

What is the output?
Anonymous voting

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));

What is the output?
Anonymous voting

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?.());

Programming language legend ๐Ÿ˜‰ Anders Hejlsberg was on The Pragmatic Engineer talking about his background, work on TypeScrip
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.

What is the output?
Anonymous voting