uk
Feedback
JavaScript

JavaScript

Відкрити в 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

Показати більше

📈 Аналітичний огляд Telegram-каналу JavaScript

Канал JavaScript (@javascript) у мовному сегменті Англійська є активним учасником. На даний момент спільнота об'єднує 31 150 підписників, посідаючи 4 164 місце в категорії Технології та додатки та 12 815 місце у регіоні Індія.

📊 Показники аудиторії та динаміка

З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 31 150 підписників.

За останніми даними від 18 вересня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на -99, а за останні 24 години на -9, загальне охоплення залишається високим.

  • Статус верифікації: Не верифікований
  • Рівень залученості (ER): Середній показник залученості аудиторії становить 6.21%. Протягом перших 24 годин після публікації контент зазвичай збирає 2.30% реакцій від загальної кількості підписників.
  • Охоплення публікацій: В середньому кожен допис отримує 1 935 переглядів. Протягом першої доби публікація в середньому набирає 718 переглядів.
  • Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 5.
  • Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як javascript, console.log(gen.next().value, processdata, remix, acc.

📝 Опис та контентна політика

Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
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

Завдяки високій частоті оновлень (останні дані отримано 19 вересня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.

31 150
Підписники
-924 години
-407 днів
-9930 днів
Архів дописів
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 transform1 = compose(negate, square, addTen, double);
const transform2 = pipe(double, addTen, square, negate);

const memoize = (fn) => {
  const cache = new Map();
  return (x) => {
    if (!cache.has(x)) cache.set(x, fn(x));
    return cache.get(x);
  };
};

const memoTransform1 = memoize(transform1);

console.log(transform1(3));
console.log(transform2(3));
console.log(memoTransform1(3) === transform1(3));

👀 Remix 3 Enters Beta — It's No Longer a React Framework Remix has quite the back story. Created by the duo behind React Rou
👀 Remix 3 Enters Beta — It's No Longer a React Framework Remix has quite the back story. Created by the duo behind React Router in 2020 and seen as an alternative to Next.js, Remix was acquired by Shopify in 2022 and its core ideas folded into React Router v7 in 2024. Now, a new direction: a full-stack, web standards-first framework with its own UI component model and… no React. Michael Jackson (Remix)

What is the output?
Anonymous voting

CHALLENGE

class DatabaseError extends Error {
  constructor(message, code) {
    super(message);
    this.name = "DatabaseError";
    this.code = code;
  }
}

class ConnectionError extends DatabaseError {
  constructor(host) {
    super(`Failed to connect to ${host}`, 503);
    this.name = "ConnectionError";
    this.host = host;
  }
}

const err = new ConnectionError("db.server.io");

console.log([
  err instanceof ConnectionError,
  err instanceof DatabaseError,
  err instanceof Error,
  err.name,
  err.code,
  err.message,
].join(" | "));

😮 html-to-text 10.0: Advanced HTML to Text Converter Uses a variety of techniques to convert even complex HTML into plain te
😮 html-to-text 10.0: Advanced HTML to Text Converter Uses a variety of techniques to convert even complex HTML into plain text (but with some formatting, such as for tables). v10 brings the project up to modern standards. KillyMXI

What is the output?
Anonymous voting

CHALLENGE
const items = [
  { name: "banana", price: 1.5, qty: 10 },
  { name: "apple",  price: 1.5, qty: 5  },
  { name: "cherry", price: 3.0, qty: 8  },
  { name: "date",   price: 2.0, qty: 8  },
];

const sorted = [...items].sort((a, b) => {
  if (a.price !== b.price) return a.price - b.price;
  if (a.qty   !== b.qty)   return b.qty   - a.qty;
  return a.name.localeCompare(b.name);
});

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

🤟 Node.js 26.0 (Current) Released It's here! Complete with the Temporal API enabled by default, V8 14.6 (say hello to map ‘u
🤟 Node.js 26.0 (Current) Released It's here! Complete with the Temporal API enabled by default, V8 14.6 (say hello to map ‘upsert’ methods like Map.prototype.getOrInsert() and iterator sequencing with Iterator.concat()), plus Undici 8. v26 is the ‘Current’ cutting-edge release until October when it gets promoted to LTS. Rafael Gonzaga

What is the output?
Anonymous voting

CHALLENGE
const values = [0.1 + 0.2, NaN, Infinity, -0, 42.6789];

const results = values.map((v, i) => {
  if (i === 0) return Number.isInteger(v) + " | " + v.toFixed(2);
  if (i === 1) return Number.isFinite(v) + " | " + Number.isNaN(v);
  if (i === 2) return Number.isFinite(v) + " | " + Number.MAX_SAFE_INTEGER;
  if (i === 3) return Object.is(v, -0) + " | " + (v === 0);
  if (i === 4) return v.toFixed(2) + " | " + v.toPrecision(4);
});

results.forEach(r => console.log(r));

What is the output?
Anonymous voting

CHALLENGE
const ops = {
  add: (a, b) => a + b,
  subtract: (a, b) => a - b,
  multiply: (a, b) => a * b,
  divide: (a, b) => b !== 0 ? a / b : NaN,
};

const pipeline = (...fns) => (value) => fns.reduce((acc, fn) => fn(acc), value);

const double  = (x) => ops.multiply(x, 2);
const addTen  = (x) => ops.add(x, 10);
const halve   = (x) => ops.divide(x, 2);
const subtractThree = (x) => ops.subtract(x, 3);

const transform = pipeline(double, addTen, halve, subtractThree);

const results = [5, 0, -4].map(transform);
console.log(results);

What is the output?
Anonymous voting

CHALLENGE

const inventory = new Map([
  ["sword", { quantity: 3, weight: 15 }],
  ["shield", { quantity: 1, weight: 25 }],
  ["potion", { quantity: 10, weight: 2 }],
]);

inventory.set("bow", { quantity: 2, weight: 8 });
inventory.delete("shield");

const totalWeight = [...inventory.entries()].reduce((acc, [item, { quantity, weight }]) => {
  return acc + quantity * weight;
}, 0);

const heaviestItem = [...inventory.entries()].reduce((max, [item, data]) =>
  data.weight > max.weight ? { name: item, ...data } : max,
  { name: "", weight: 0 }
);

console.log(inventory.size, totalWeight, heaviestItem.name);

What is the output?
Anonymous voting

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

async function pipeline(...fns) {
  return async (input) => {
    let result = input;
    for (const fn of fns) {
      result = await fn(result);
    }
    return result;
  };
}

const double  = async (x) => delay(10, x * 2);
const addTen  = async (x) => delay(10, x + 10);
const square  = async (x) => delay(10, x ** 2);

(async () => {
  const process = await pipeline(double, addTen, square);
  const output  = await process(3);
  console.log(output);
})();

What is the output?
Anonymous voting

CHALLENGE

class Vehicle {
  #speed = 0;

  constructor(brand) {
    this.brand = brand;
  }

  accelerate(amount) {
    this.#speed += amount;
    return this;
  }

  getSpeed() {
    return this.#speed;
  }

  toString() {
    return `${this.brand} @ ${this.#speed}km/h`;
  }
}

class Car extends Vehicle {
  #gear = 1;

  constructor(brand, model) {
    super(brand);
    this.model = model;
  }

  shiftUp() {
    this.#gear++;
    return this;
  }

  toString() {
    return `${super.toString()} [Gear ${this.#gear}]`;
  }
}

const car = new Car("Toyota", "Supra");
car.accelerate(60).accelerate(40).shiftUp().shiftUp();

console.log(car.toString());
console.log(car instanceof Car);
console.log(car instanceof Vehicle);
console.log(Object.getPrototypeOf(Car) === Vehicle);

What is the output?
Anonymous voting