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

⛽️ RFC: It’s Time for npm to Make Install Scripts Opt-In npm is the only major package manager that runs dependency install s
⛽️ RFC: It’s Time for npm to Make Install Scripts Opt-In npm is the only major package manager that runs dependency install scripts (e.g. postinstall) by default, and they’ve become too much of a security weakness, says Jamie, who works for GitHub (maintainers of npm). This RFC features further discussion of the idea and the tradeoffs involved. Jamie Magee

What is the output?
Anonymous voting

CHALLENGE

class EventEmitter {
  #listeners = new Map();

  on(event, listener) {
    if (!this.#listeners.has(event)) {
      this.#listeners.set(event, []);
    }
    this.#listeners.get(event).push(listener);
    return this;
  }

  emit(event, ...args) {
    const handlers = this.#listeners.get(event) ?? [];
    handlers.forEach(fn => fn(...args));
    return this;
  }
}

const emitter = new EventEmitter();
const log = [];

emitter
  .on("data", val => log.push(`A:${val}`))
  .on("data", val => log.push(`B:${val * 2}`))
  .on("end",  ()  => log.push("done"));

emitter.emit("data", 5).emit("data", 3).emit("end");

console.log(log.join(","));

What is the output?
Anonymous voting

CHALLENGE

const p1 = new Promise((resolve) => {
  console.log("A");
  resolve("B");
});

const p2 = p1.then((val) => {
  console.log(val);
  return "C";
});

p2.then((val) => console.log(val));

console.log("D");

What is the output?
Anonymous voting

CHALLENGE

class Range {
  constructor(start, end, step = 1) {
    this.start = start;
    this.end = end;
    this.step = step;
  }

  [Symbol.iterator]() {
    let current = this.start;
    const { end, step } = this;
    return {
      next() {
        if (current <= end) {
          const value = current;
          current += step;
          return { value, done: false };
        }
        return { value: undefined, done: true };
      }
    };
  }
}

const range = new Range(1, 10, 3);
const result = [...range].map(n => n ** 2);
console.log(result);

What is the output?
Anonymous voting

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

const store = new Proxy({ _secret: 99, score: 5 }, handler);

store.level = 3;

console.log(store.score);
console.log(store.level);
console.log("_secret" in store);
console.log("score" in store);
console.log(store._secret);

🌟 Bun v1.3.14 Adds Image Processing, HTTP/3, HTTP/2 Fetch and More Another mammoth Bun release. Bun.Image is a new built-in
🌟 Bun v1.3.14 Adds Image Processing, HTTP/3, HTTP/2 Fetch and More Another mammoth Bun release. Bun.Image is a new built-in image processing API which can replace Sharp in many cases. Bun’s package manager has added a global virtual store (akin to pnpm’s), Bun.serve has experimental HTTP/3 over QUIC support, and fetch gets HTTP/2 and HTTP/3 support. Plus the usual raft of Node.js compatibility improvements. Jarred Sumner

What is the output?
Anonymous voting

CHALLENGE
const name = "Taylor";
const age = 28;
const role = "engineer";

const user = {
  name,
  age,
  role,
  greet() {
    return `Hi, I'm ${this.name}, age ${this.age}`;
  },
  get info() {
    return `${this.role.toUpperCase()} @ ${this.age}`;
  }
};

const { name: userName, info, greet } = user;

console.log(userName);
console.log(info);
console.log(greet.call({ name: "Jordan", age: 35 }));

🌲 NodeBook: An Advanced Guide to Node.js Internals Volume I of this in-depth guide is now complete with eight chapters of ad
🌲 NodeBook: An Advanced Guide to Node.js Internals Volume I of this in-depth guide is now complete with eight chapters of advanced material covering topics like event loop internals, what V8 does, buffer allocation, streams, module resolution, async/await, and the process lifecycle. Ishtmeet Singh

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) {
    if (Array.isArray(this.#value)) {
      this.#value = this.#value.reduce(fn, init);
      this.#log.push(`reduce:${this.#value}`);
    }
    return this;
  }

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

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

What is the output?
Anonymous voting

CHALLENGE

function createCounter() {
  let count = 0;

  return {
    increment() { count++; },
    decrement() { count--; },
    getCount() { return count; },
    reset: () => { count = 0; }
  };
}

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

const { getCount, reset } = counter;

console.log(counter.getCount());
reset();
console.log(getCount());

πŸ€” How can you not love a project homepage where you're a cat in a convertible driving through an endless barrage of obstacle
πŸ€” How can you not love a project homepage where you're a cat in a convertible driving through an endless barrage of obstacles? Crashcat is a JavaScript 3D rigid body physics library built for games, simulations, and web experiences, complete with numerous fun examples.