ru
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 148 подписчиков, занимая 4 163 место в категории Технологии и приложения и 12 815 место в регионе Индия.

📊 Показатели аудитории и динамика

С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 31 148 подписчиков.

Согласно последним данным от 19 сентября, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -123, а за последние 24 часа — -2, при этом общий охват остаётся высоким.

  • Статус верификации: Не верифицирован
  • Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 6.26%. В первые 24 часа после публикации контент обычно набирает 2.31% реакций от общего числа подписчиков.
  • Охват публикаций: В среднем каждый пост получает 1 949 просмотров. В течение первых суток публикация набирает 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

Благодаря высокой частоте обновлений (последние данные получены 20 сентября, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.

31 148
Подписчики
-224 часа
-367 дней
-12330 дней
Архив постов
CHALLENGE

const str = "JavaScript is Awesome!";

const result = str
  .split(" ")
  .map((word, i) => {
    if (i % 2 === 0) return word.toUpperCase();
    return word.toLowerCase();
  })
  .map((word) => [...word].reverse().join(""))
  .join("-");

console.log(result);

What is the output?
Anonymous voting

CHALLENGE

const handler = {
  get(target, prop, receiver) {
    if (prop === 'fullName') {
      return `${Reflect.get(target, 'firstName', receiver)} ${Reflect.get(target, 'lastName', receiver)}`;
    }
    return Reflect.get(target, prop, receiver);
  },
  set(target, prop, value, receiver) {
    if (typeof value !== 'string') {
      return false;
    }
    return Reflect.set(target, prop, value.trim(), receiver);
  },
  has(target, prop) {
    return prop.startsWith('_') ? false : Reflect.has(target, prop);
  }
};

const person = new Proxy({ firstName: '  Clara', lastName: 'Oswald  ', _secret: 'hidden' }, handler);
person.firstName = '  Clara';
person.lastName = '  Oswald';

console.log(person.fullName);
console.log('_secret' in person);
console.log(Reflect.ownKeys(person).length);

What is the output?
Anonymous voting

CHALLENGE
const inventory = {
  apples: 5,
  bananas: 12,
  cherries: 0,
  dates: 8,
};

const result = Object.entries(inventory)
  .filter(([_, qty]) => qty > 0)
  .reduce((acc, [fruit, qty]) => {
    acc[fruit] = qty * 2;
    return acc;
  }, {});

const keys = Object.keys(result);
const values = Object.values(result);

console.log(keys.length, values.reduce((sum, v) => sum + v, 0));

👀 Solid v2.0.0 Beta: The is Over After a long experimental phase, Solid 2.0’s first beta lands with first-class async suppor
👀 Solid v2.0.0 Beta: The <Suspense> is Over After a long experimental phase, Solid 2.0’s first beta lands with first-class async support where computations can return Promises or async iterables, and the reactive graph suspends and resumes around them natively. <Suspense> is retired in favor of <Loading> for initial renders, and mutations get a first-class action() primitive with optimistic support. For existing users the breaking changes are substantial, but there’s a migration guide. Ryan Carniato

What is the output?
Anonymous voting

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

function riskyOperation(value) {
  if (value === null) throw new AppError("Null value", 404);
  if (typeof value !== "number") throw new TypeError("Not a number");
  if (value < 0) throw new RangeError("Negative value");
  return value * 2;
}

const inputs = [42, null, "hello", -5];
const results = inputs.map((input) => {
  try {
    return riskyOperation(input);
  } catch (err) {
    if (err instanceof AppError) return `AppError:${err.code}`;
    if (err instanceof TypeError) return `TypeError`;
    if (err instanceof RangeError) return `RangeError`;
    return `UnknownError`;
  }
});

console.log(results);

What is the output?
Anonymous voting

CHALLENGE

const transactions = [
  { id: 1, type: "credit", amount: 200 },
  { id: 2, type: "debit",  amount: 50  },
  { id: 3, type: "credit", amount: 150 },
  { id: 4, type: "debit",  amount: 30  },
  { id: 5, type: "credit", amount: 100 },
];

const result = transactions
  .filter(tx => tx.type === "credit")
  .map(tx => ({ ...tx, amount: tx.amount * 1.1 }))
  .reduce((acc, tx) => acc + tx.amount, 0);

console.log(result.toFixed(2));

What is the output?
Anonymous voting

CHALLENGE
const product = {
  name: "Laptop",
  price: 1299,
  stock: 42,
  discount: 0,
  category: "Electronics",
};

const filtered = Object.entries(product)
  .filter(([key, value]) => Boolean(value))
  .reduce((acc, [key, value]) => {
    acc[key] = value;
    return acc;
  }, {});

console.log(Object.keys(filtered).length);
console.log(Object.values(filtered).includes(0));
console.log(Object.keys(filtered).join(", "));

What is the output?
Anonymous voting

CHALLENGE
const engine = {
  type: "V8",
  displacement: 4.0,
  getInfo() {
    return `${this.type} - ${this.displacement}L`;
  },
  turbo: {
    boost: 12,
    getBoost() {
      return `${this.type ?? "Unknown"} boosted at ${this.boost} psi`;
    },
  },
};

const detached = engine.getInfo;
const turboInfo = engine.turbo.getBoost;

console.log(engine.getInfo());
console.log(engine.turbo.getBoost());
console.log(turboInfo());

😆
😆

What is the output?
Anonymous voting

CHALLENGE
class Registry {
  static #cache = new Map();
  static #instanceCount = 0;
  static defaultTTL;

  static {
    Registry.#cache.set("base", { value: 42, active: true });
    Registry.#instanceCount = 1;
    Registry.defaultTTL = 3600;
    console.log("Static block 1:", Registry.#instanceCount, Registry.defaultTTL);
  }

  static {
    const base = Registry.#cache.get("base");
    Registry.#cache.set("derived", { value: base.value * 2, active: false });
    Registry.#instanceCount++;
    console.log("Static block 2:", Registry.#instanceCount, Registry.#cache.size);
  }

  static getSnapshot() {
    return [...Registry.#cache.entries()]
      .map(([k, v]) => `${k}:${v.value}`)
      .join(", ");
  }
}

console.log("Snapshot:", Registry.getSnapshot());
console.log("TTL:", Registry.defaultTTL);

🌟 Bun v1.3.10 Released: A Surprisingly Big Update Bun’s REPL has been completely rewritten with many improvements (both prac
🌟 Bun v1.3.10 Released: A Surprisingly Big Update Bun’s REPL has been completely rewritten with many improvements (both practical and cosmetic), there's a --compile --target=browser option for building self-contained HTML files with all JS, CSS, and assets included (ideal for simple JS-powered single page apps), full support for TC39 stage 3 ES decorators, a faster event loop, barrel import optimization, and more. Jarred Sumner

What is the output?
Anonymous voting

CHALLENGE


const a = 10n ** 3n;
const b = BigInt(Number.MAX_SAFE_INTEGER) + 1n;
const c = b - BigInt(Number.MAX_SAFE_INTEGER);

const results = {
  power: a,
  safe: c,
  type: typeof a,
  equal: 10n == 10,
  strict: 10n === 10,
};

console.log(
  results.power,
  results.safe,
  results.type,
  results.equal,
  results.strict
);