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 150 subscribers, ranking 4 164 in the Technologies & Applications category and 12 815 in the India region.

📊 Audience metrics and dynamics

Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 31 150 subscribers.

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

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 6.21%. Within the first 24 hours after publication, content typically collects 2.30% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 1 935 views. Within the first day, a publication typically gains 718 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 5.
  • 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 19 September, 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 150
Subscribers
-924 hours
-407 days
-9930 days
Posts Archive
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 Reflect.get(target, prop, receiver);
  },
  set(target, prop, value, receiver) {
    if (typeof value !== "number") return false;
    return Reflect.set(target, prop, value * 3, receiver);
  },
  has(target, prop) {
    return prop.startsWith("x") && Reflect.has(target, prop);
  },
};

const obj = new Proxy({ x1: 10, y1: 20 }, handler);
obj.x2 = 15;
obj.y2 = 40;

console.log(obj.x1);
console.log(obj.x2);
console.log("x1" in obj);
console.log("y1" in obj);
console.log(obj.y2);

What is the output?
Anonymous voting

CHALLENGE

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

const name = "nova";
const level = 3;
const score = 97;

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

What is the output?
Anonymous voting

CHALLENGE

class Session {
  #id;
  constructor(id) {
    this.#id = id;
  }
  getId() {
    return this.#id;
  }
}

const activeSessions = new WeakSet();

const s1 = new Session("alpha");
const s2 = new Session("beta");
let s3 = new Session("gamma");

activeSessions.add(s1);
activeSessions.add(s2);
activeSessions.add(s3);

console.log(activeSessions.has(s1));
console.log(activeSessions.has(s3));

activeSessions.delete(s2);
console.log(activeSessions.has(s2));

try {
  activeSessions.add("invalid");
} catch (e) {
  console.log(e instanceof TypeError);
}

console.log(activeSessions.has(s1));

What is the output?
Anonymous voting

CHALLENGE
const data = [
  { name: "Zara", score: 88 },
  { name: "Liam", score: 95 },
  { name: "Maya", score: 88 },
  { name: "Omar", score: 72 },
  { name: "Nina", score: 95 },
];

const sorted = [...data].sort((a, b) =>
  b.score !== a.score
    ? b.score - a.score
    : a.name.localeCompare(b.name)
);

console.log(sorted.map(p => `${p.name}:${p.score}`).join(", "));

What is the output?
Anonymous voting

CHALLENGE
const company = {
  name: "TechCorp",
  ceo: {
    name: "Morgan",
    address: {
      city: "Berlin"
    }
  },
  getRevenue: () => 5_000_000
};

const cfoCity    = company?.cfo?.address?.city ?? "Unknown";
const ceoCity    = company?.ceo?.address?.city ?? "Unknown";
const ceoCountry = company?.ceo?.address?.country ?? "N/A";
const revenue    = company?.getRevenue?.() ?? 0;
const employees  = company?.getEmployees?.() ?? "No data";

console.log(cfoCity, ceoCity, ceoCountry, revenue, employees);

What is the output?
Anonymous voting

CHALLENGE

const compose = (...fns) => x => fns.reduceRight((acc, fn) => fn(acc), x);
const pipe = (...fns) => x => fns.reduce((acc, fn) => fn(acc), x);

const double = x => x * 2;
const addTen = x => x + 10;
const square = x => x ** 2;
const negate = x => -x;

const composed = compose(negate, square, addTen, double);
const piped = pipe(negate, square, addTen, double);

const val = 3;

console.log(composed(val)); // compose: right-to-left
console.log(piped(val));    // pipe: left-to-right

😱
😱

What is the output?
Anonymous voting

CHALLENGE

class Vehicle {
  #speed = 0;

  constructor(type, maxSpeed) {
    this.type = type;
    this.maxSpeed = maxSpeed;
  }

  accelerate(amount) {
    this.#speed = Math.min(this.#speed + amount, this.maxSpeed);
    return this;
  }

  getStatus() {
    return `${this.type} going ${this.#speed}/${this.maxSpeed} km/h`;
  }
}

class ElectricVehicle extends Vehicle {
  #battery;

  constructor(type, maxSpeed, battery) {
    super(type, maxSpeed);
    this.#battery = battery;
  }

  accelerate(amount) {
    this.#battery -= amount * 0.5;
    return super.accelerate(amount);
  }

  getStatus() {
    return `${super.getStatus()} | Battery: ${this.#battery}%`;
  }
}

const ev = new ElectricVehicle("Tesla", 250, 100);
ev.accelerate(80).accelerate(200);
console.log(ev.getStatus());
console.log(ev instanceof Vehicle);
console.log(ev.constructor === ElectricVehicle);

🤔 Oxide Computer Company's Mitos ASCII Tool (above) converts images into ASCII text illustrations and animations, by way of
🤔 Oxide Computer Company's Mitos ASCII Tool (above) converts images into ASCII text illustrations and animations, by way of a built-in livecoding environment (built upon the fantastic play.core).

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