es
Feedback
JavaScript

JavaScript

Ir al canal en 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

Mostrar más

📈 Análisis del canal de Telegram JavaScript

El canal JavaScript (@javascript) en el segmento lingüístico de Inglés es un actor destacado. Actualmente la comunidad reúne a 31 133 suscriptores, ocupando la posición 4 183 en la categoría Tecnologías y Aplicaciones y el puesto 12 833 en la región India.

📊 Métricas de audiencia y dinámica

Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 31 133 suscriptores.

Según los últimos datos del 22 septiembre, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de -121, y en las últimas 24 horas de -5, conservando un alto alcance.

  • Estado de verificación: No verificado
  • Tasa de interacción (ER): El promedio de interacción de la audiencia es 6.10%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 2.20% de reacciones respecto al total de suscriptores.
  • Alcance de las publicaciones: Cada publicación recibe en promedio 1 900 visualizaciones. En el primer día suele acumular 684 visualizaciones.
  • Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 4.
  • Intereses temáticos: El contenido se centra en temas clave como javascript, console.log(gen.next().value, processdata, remix, acc.

📝 Descripción y política de contenido

El autor describe el recurso como un espacio para expresar opiniones subjetivas:
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

Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 23 septiembre, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.

31 133
Suscriptores
-524 horas
-367 días
-12130 días
Archivo de publicaciones
CHALLENGE
const person = {
  name: 'Alice',
  greet() {
    return `Hello, I'm ${this.name}`;
  },
  farewell: () => `Goodbye from ${this.name}`
};

const greetFn = person.greet;
const farewellFn = person.farewell;

console.log(person.greet());
console.log(greetFn());
console.log(farewellFn());

What is the output?
Anonymous voting

CHALLENGE
const products = [
  { id: 1, name: 'Laptop', price: 1200, category: 'Electronics' },
  { id: 2, name: 'Headphones', price: 100, category: 'Electronics' },
  { id: 3, name: 'Book', price: 15, category: 'Books' },
  { id: 4, name: 'Shirt', price: 25, category: 'Clothing' },
  { id: 5, name: 'Coffee Mug', price: 10, category: 'Kitchen' }
];

const result = products
  .filter(p => p.price > 20)
  .map(p => ({ name: p.name, value: p.price * 0.9 }))
  .reduce((acc, item) => {
    acc.names.push(item.name);
    acc.total += item.value;
    return acc;
  }, { names: [], total: 0 });

console.log(result);

TypeScript 5.5 introduces support for new ECMAScript methods on the Set object: union, intersection, difference, and symmetri
TypeScript 5.5 introduces support for new ECMAScript methods on the Set object: union, intersection, difference, and symmetricDifference. These methods allow for more intuitive and readable operations on sets.

What is the output?
Anonymous voting

CHALLENGE
function createCounter() {
  let count = 0;
  return {
    increment: () => ++count,
    getCount: () => count
  };
}

function compose(...fns) {
  return (x) => fns.reduceRight((acc, fn) => fn(acc), x);
}

const counter = createCounter();
const double = x => x * 2;
const addOne = x => x + 1;

const incrementAndProcess = compose(double, addOne, counter.increment);

counter.increment();
const result = incrementAndProcess();
console.log(result);

🌲 Monorepo: From Hate to Love When and A monorepo is like a BMW: it requires constant maintenance and attention. You can’t j
🌲 Monorepo: From Hate to Love When and A monorepo is like a BMW: it requires constant maintenance and attention. You can’t just set it up once and expect it to work smoothly for the next five years. nairihar

What is the output?
Anonymous voting

CHALLENGE
const user = {
  details: {
    name: 'Alex',
    contact: null,
    preferences: {
      theme: 'dark'
    }
  },
  getInfo() {
    return this?.details?.contact?.email || 
           this?.details?.preferences?.theme || 
           this?.details?.name || 
           'Unknown';
  }
};

console.log(user.getInfo());

🍊 Google Gen AI SDK for TypeScript and JavaScript v1 Why let Python developers have all the fun? Now you can harness the ful
🍊 Google Gen AI SDK for TypeScript and JavaScript v1 Why let Python developers have all the fun? Now you can harness the full power of Google’s Gemini API (and Vertex platform) from Node too. v1.0 landed a few days ago, but today we also get v1.1 which includes CommonJS support. The Gemini docs and examples now use it too (if you select JavaScript). Google

What is the output?
Anonymous voting

CHALLENGE
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

const result = numbers
  .filter(num => num % 2 === 0)
  .map(num => num * 2)
  .reduce((acc, num, index, array) => {
    if (index === array.length - 1) {
      return (acc + num) / array.length;
    }
    return acc + num;
  }, 0);

console.log(result);

🫡 qnm: A CLI Tool to Look Into node_modules If you’ve ever been overwhelmed by what’s in node_modules, this tool lets you di
🫡 qnm: A CLI Tool to Look Into node_modules If you’ve ever been overwhelmed by what’s in node_modules, this tool lets you dig around with some guidance as to what is what. You can use fuzzy search to find specific things as well as see which modules are using the most space (you can try it right now with `npx qnm doctor`). Ran Yitzhaki

What is the output?
Anonymous voting

CHALLENGE
class EventEmitter {
  constructor() {
    this.events = {};
  }
  
  on(event, listener) {
    if (!this.events[event]) {
      this.events[event] = [];
    }
    this.events[event].push(listener);
    return () => this.off(event, listener);
  }
  
  off(event, listener) {
    if (!this.events[event]) return;
    this.events[event] = this.events[event].filter(l => l !== listener);
  }
  
  emit(event, ...args) {
    if (!this.events[event]) return false;
    this.events[event].forEach(listener => listener(...args));
    return true;
  }
}

const emitter = new EventEmitter();
const unsubscribe = emitter.on('message', data => console.log(data));
emitter.emit('message', 'Hello');
emitter.emit('message', 'World');
unsubscribe();
emitter.emit('message', 'Ignored');
console.log(emitter.emit('message', 'Still ignored'));

😭 php-node: A New Way to Bring PHP and Node Together I bet some readers have strong feelings about the idea of mixing PHP an
😭 php-node: A New Way to Bring PHP and Node Together I bet some readers have strong feelings about the idea of mixing PHP and Node.js, but this is a neat project. php-node is a native module for Node that enables the running of PHP apps within the Node environment. Why? For migrating legacy apps, building hybrid PHP/JS apps, or Node apps that simply need to call out to PHP for some reason (WordPress, maybe, as we see in this post). Matteo Collina et al.

What is the output?
Anonymous voting

CHALLENGE
function curry(fn) {
  return function curried(...args) {
    if (args.length >= fn.length) {
      return fn.apply(this, args);
    }
    return function(...moreArgs) {
      return curried.apply(this, [...args, ...moreArgs]);
    };
  };
}

const multiply = curry((a, b, c) => a * b * c);
const double = multiply(2);
const result = double(3)(4);

console.log(result);

What is the output?
Anonymous voting

CHALLENGE
const target = { a: 1, b: 2 };
const handler = {
  get(obj, prop) {
    return prop in obj ? obj[prop] * 2 : 'not found';
  },
  set(obj, prop, value) {
    if (typeof value !== 'number') {
      return false;
    }
    obj[prop] = value + 10;
    return true;
  }
};

const proxy = new Proxy(target, handler);
proxy.c = '5';
proxy.d = 5;

console.log(JSON.stringify({
  a: proxy.a,
  b: proxy.b,
  c: proxy.c,
  d: target.d,
  hasC: Reflect.has(target, 'c')
}));