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

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

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

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

  • Статус верификации: Не верифицирован
  • Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 6.16%. В первые 24 часа после публикации контент обычно набирает 2.24% реакций от общего числа подписчиков.
  • Охват публикаций: В среднем каждый пост получает 1 917 просмотров. В течение первых суток публикация набирает 697 просмотров.
  • Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 4.
  • Тематические интересы: Контент сосредоточен на ключевых темах, таких как 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

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

31 138
Подписчики
-724 часа
-517 дней
-11830 дней
Архив постов
What is the output?
Anonymous voting

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

function processData(data) {
  try {
    if (!data) throw new ValidationError('Data required', 'MISSING_DATA');
    return data.toUpperCase();
  } catch (error) {
    if (error instanceof ValidationError) {
      console.log(`${error.name}: ${error.message} (${error.code})`);
    } else {
      console.log(`Unexpected error: ${error.message}`);
    }
  }
}

processData(null);
processData(42);

What is the output?
Anonymous voting

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

try {
  throw new CustomError('Something went wrong', 500);
} catch (error) {
  console.log(error instanceof Error);
  console.log(error instanceof CustomError);
  console.log(error.name);
  console.log(typeof error.code);
}

What is the output?
Anonymous voting

CHALLENGE
let cache = new Map();
let obj = { name: 'Emma', age: 28 };

function memoize(fn) {
  return function(...args) {
    const key = JSON.stringify(args);
    if (cache.has(key)) {
      console.log('Cache hit');
      return cache.get(key);
    }
    const result = fn.apply(this, args);
    cache.set(key, result);
    return result;
  };
}

const process = memoize((data) => {
  console.log('Processing:', data.name);
  return data.age * 2;
});

process(obj);
process(obj);
obj.age = 30;
process(obj);
console.log('Cache size:', cache.size);

⛽️ npm-check-updates 18.2: Update package.json Dependencies to Latest Versions That is, as opposed to the specified versions.
⛽️ npm-check-updates 18.2: Update package.json Dependencies to Latest Versions That is, as opposed to the specified versions. Includes a handy -i interactive mode so you can look at potential upgrades and then opt in to them one by one. v18.2 adds a ‘cooldown’ feature to help protect against supply chain attacks by requiring package versions to be published at least the given number of days before considering them for upgrade. Raine Revere

What is the output?
Anonymous voting

CHALLENGE
const pattern = /(?<=\d)(?=(?:\d{3})+(?!\d))/g;
const str = '1234567890';
const result = str.replace(pattern, ',');
console.log(result);

const regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$/;
const tests = ['Password1', 'password', 'PASSWORD1', 'Pass1'];
tests.forEach(test => {
  console.log(`${test}: ${regex.test(test)}`);
});

const capture = /([a-z]+)(\d+)/g;
const text = 'item123 product456';
const matches = [...text.matchAll(capture)];
console.log(matches[1][1]);

🥳 IINA is a popular, open-source media player for macOS and it has just added a JavaScript-based plugin system to let users
🥳 IINA is a popular, open-source media player for macOS and it has just added a JavaScript-based plugin system to let users extend its functionality.

What is the output?
Anonymous voting

CHALLENGE
const sym1 = Symbol('test');
const sym2 = Symbol('test');
const obj = {
  [sym1]: 'value1',
  [sym2]: 'value2',
  regular: 'value3'
};

const sym3 = Symbol.for('global');
const sym4 = Symbol.for('global');

console.log(sym1 === sym2);
console.log(sym3 === sym4);
console.log(Object.keys(obj).length);
console.log(Object.getOwnPropertySymbols(obj).length);

⛽️ Massive Supply Chain Attack Hijacks ctrl/tinycolor With 2 Million Downloads and Other 40 NPM Packages A sophisticated and
⛽️ Massive Supply Chain Attack Hijacks ctrl/tinycolor With 2 Million Downloads and Other 40 NPM Packages A sophisticated and widespread supply chain attack has struck the NPM ecosystem, compromising the popular @ctrl/tinycolor package, which is downloaded over 2 million times per week. Guru Baran

What is the output?
Anonymous voting

CHALLENGE
const cache = new Map();

function createHandler(id) {
  const data = { id, value: new Array(1000).fill(id) };
  cache.set(id, data);
  
  return function(action) {
    if (action === 'get') return data;
    if (action === 'clear') cache.delete(id);
  };
}

const handler1 = createHandler('user-1');
const handler2 = createHandler('user-2');

handler1('clear');
console.log(cache.size);
console.log(handler1('get').id);

🤩 Fetch Streams are Great, But Not for Measuring Upload/Download Progress Fetch upload streams seem well-suited for tracking
🤩 Fetch Streams are Great, But Not for Measuring Upload/Download Progress Fetch upload streams seem well-suited for tracking the progress of uploads, but as Jake notes “just because stuff is taken from the stream doesn’t mean it’s yet been sent over the network”. He also touches on an issue relating to measuring download progress using response streams. Jake Archibald

What is the output?
Anonymous voting

CHALLENGE
const nums = [1, 2, 3, 4, 5];
const result = nums
  .filter(n => n > 2)
  .map(n => n * 2)
  .reduce((acc, n) => {
    acc.push(n + 1);
    return acc;
  }, [])
  .slice(1);

console.log(result);
console.log(nums);

👀 The 'Shai-Hulud' npm Supply Chain Attack Rumbles On Now named after a term for the sandworms of the Dune universe, the ong
👀 The 'Shai-Hulud' npm Supply Chain Attack Rumbles On Now named after a term for the sandworms of the Dune universe, the ongoing malicious supply chain attack affecting the npm ecosystem has grown in scale with hundreds of packages affected in an attempt to exfiltrate tokens and secrets from developers’ machines. Pandya, van der Zee, and Brown (Socket)

What is the output?
Anonymous voting