uz
Feedback
JavaScript

JavaScript

Kanalga Telegram’da o‘tish

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

Ko'proq ko'rsatish

📈 Telegram kanali JavaScript analitikasi

JavaScript (@javascript) Ingliz til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 31 136 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 4 163-o'rinni va Hindiston mintaqasida 12 809-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 31 136 obunachiga ega bo‘ldi.

20 Sentabr, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -114 ga, so‘nggi 24 soatda esa -3 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 6.21% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 2.30% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 1 933 marta ko‘riladi; birinchi sutkada odatda 715 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 4 ta reaksiya keladi.
  • Tematik yo‘nalishlar: Kontent javascript, console.log(gen.next().value, processdata, remix, acc kabi asosiy mavzularga jamlangan.

📝 Tavsif va kontent siyosati

Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
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

Yuqori yangilanish chastotasi (oxirgi ma’lumot 21 Sentabr, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.

31 136
Obunachilar
-324 soatlar
-327 kun
-11430 kun
Postlar arxiv
What is the output?
Anonymous voting

CHALLENGE
const data = '{"name":"Sarah","age":25,"skills":["JavaScript","Python"]}'
const parsed = JSON.parse(data)
const stringified = JSON.stringify(parsed, null, 0)
const reparsed = JSON.parse(stringified)

try {
  const invalid = '{name:"John","incomplete":}'
  JSON.parse(invalid)
} catch (e) {
  console.log(e.name)
}

console.log(typeof parsed.age)
console.log(reparsed.skills.length)
console.log(JSON.stringify({a: undefined, b: null, c: 0}))

😮 Render.js: A Raytracing Renderer with RenderMan Format Support Created at Pixar in the 80s, the RenderMan Interface Specif
😮 Render.js: A Raytracing Renderer with RenderMan Format Support Created at Pixar in the 80s, the RenderMan Interface Specification was an early API for building 3D scenes. Anders has been building a Node-based, 90s-style renderer for the format “as a stroll down amnesia lane” in pure JavaScript. Anders Brownworth

👀 Umami 3.0: A Self-Hosted, Privacy-Focused Google Analytics Alternative Think something like Plausible or Google Analytics,
👀 Umami 3.0: A Self-Hosted, Privacy-Focused Google Analytics Alternative Think something like Plausible or Google Analytics, but built in Node and ready for you to host yourself. Here’s the full feature list. MIT licensed but also available as a paid hosted service. Umami Software, Inc.

What is the output?
Anonymous voting

CHALLENGE
const obj = { count: 0 };
const arr = [obj, obj, obj];

function increment(item) {
  item.count++;
  return item;
}

const results = arr.map(increment);
console.log(obj.count);
console.log(results[0] === results[1]);
console.log(results.length);
console.log(arr[0].count);

🤟 Node.js Security Best Practices Did you know the Node.js project maintains a page about security best practices organized
🤟 Node.js Security Best Practices Did you know the Node.js project maintains a page about security best practices organized around how to mitigate ten of the most significant vectors? Topics include networking weaknesses, timing attacks, supply chain attacks, and the monkey patching of intrinsics. Node Documentation

What is the output?
Anonymous voting

CHALLENGE
class EventEmitter {
  constructor() {
    this.events = {};
  }
  
  on(event, callback) {
    this.events[event] = this.events[event] || [];
    this.events[event].push(callback);
    return this;
  }
  
  emit(event, data) {
    if (this.events[event]) {
      this.events[event].forEach(cb => cb(data));
    }
    return this;
  }
}

class Logger {
  log(msg) { console.log(`[LOG]: ${msg}`); }
}

class DataProcessor {
  constructor(emitter, logger) {
    this.emitter = emitter;
    this.logger = logger;
    this.emitter.on('process', (data) => {
      this.logger.log(data.toUpperCase());
    });
  }
  
  process(data) {
    this.emitter.emit('process', data);
  }
}

const emitter = new EventEmitter();
const logger = new Logger();
const processor = new DataProcessor(emitter, logger);

processor.process('hello world');
emitter.emit('process', 'composition rocks');

What is the output?
Anonymous voting

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

try {
  throw new CustomError('Something went wrong');
} catch (e) {
  console.log(e instanceof Error);
  console.log(e instanceof CustomError);
  console.log(e.constructor.name);
  console.log(e.name);
}

What is the output?
Anonymous voting

CHALLENGE
const wm = new WeakMap();
const obj1 = { name: 'first' };
const obj2 = { name: 'second' };
const obj3 = obj1;

wm.set(obj1, 'value1');
wm.set(obj2, 'value2');
wm.set(obj3, 'value3');

console.log(wm.get(obj1));
console.log(wm.get(obj2));
console.log(wm.get(obj3));
console.log(wm.has(obj1));
console.log(wm.size);

What is the output?
Anonymous voting

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

const counter1 = createCounter();
const counter2 = createCounter();
counter1.increment();
counter1.increment();
counter2.increment();
console.log(counter1.getValue(), counter2.getValue());
counter1.decrement();
console.log(counter1.getValue(), counter2.getValue());

What is the output?
Anonymous voting

CHALLENGE
const moduleMap = new Map();

async function loadModule(name) {
  if (moduleMap.has(name)) {
    return moduleMap.get(name);
  }
  
  const module = await Promise.resolve({
    default: () => `Module ${name} loaded`,
    version: '1.0.0'
  });
  
  moduleMap.set(name, module);
  return module;
}

loadModule('auth').then(m => console.log(m.default()));
loadModule('auth').then(m => console.log(m.version));
loadModule('db').then(m => console.log(m.default()));

What is the output?
Anonymous voting

CHALLENGE
const user = {
  profile: {
    settings: {
      theme: 'dark'
    }
  }
};

const getTheme = (obj) => obj?.profile?.settings?.theme ?? 'light';
const getLanguage = (obj) => obj?.profile?.settings?.language ?? 'en';
const getNotifications = (obj) => obj?.profile?.notifications?.enabled ?? true;

console.log(getTheme(user));
console.log(getLanguage(user));
console.log(getNotifications(user));
console.log(getTheme(null));

And there is another fork 😆