ch
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 441 名订阅者,在 技术与应用 类别中位列第 4 382,并在 印度 地区排名第 13 579

📊 受众指标与增长动态

невідомо 创建以来,项目保持高速增长,吸引了 31 441 名订阅者。

根据 12 六月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -211,过去 24 小时变化为 -26,整体触达仍然可观。

  • 认证状态: 未认证
  • 互动率 (ER): 平均受众互动率为 6.22%。内容发布后 24 小时内通常能获得 2.53% 的反应,占订阅者总量。
  • 帖子覆盖: 每篇帖子平均可获得 1 955 次浏览,首日通常累积 794 次浏览。
  • 互动与反馈: 受众积极参与,单帖平均反应数为 7
  • 主题关注点: 内容集中在 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

凭借高频更新(最新数据采集于 13 六月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。

31 441
订阅者
-2624 小时
-807
-21130
帖子存档
What is the output?
Anonymous voting

CHALLENGE

const temperature = {
  celsius: 22,
  [Symbol.toPrimitive](hint) {
    if (hint === 'number') {
      return this.celsius;
    }
    if (hint === 'string') {
      return `${this.celsius}°C`;
    }
    return this.celsius + 273.15;
  }
};

console.log(`Temp: ${temperature}`);
console.log(temperature + 0);
console.log(temperature * 2);
console.log(+temperature);

🤟 Evolving the Node.js Release Schedule: A Work in Progress The Node.js team has long been discussing shifting Node to a new
🤟 Evolving the Node.js Release Schedule: A Work in Progress The Node.js team has long been discussing shifting Node to a new schedule of one major release per year (instead of two), removing the odd/even distinction, and making every release LTS (with a prior 11 months of alpha/current status). This is a preview post not intended for final publication till April, so things are subject to change (backup version). The Node.js Team

What is the output?
Anonymous voting

CHALLENGE
class EventEmitter {
  #listeners = new WeakMap();
  #registry = new FinalizationRegistry((label) => {
    console.log(`Cleaned up: ${label}`);
  });

  subscribe(target, callback) {
    if (!this.#listeners.has(target)) {
      this.#listeners.set(target, []);
    }
    this.#listeners.get(target).push(callback);
    this.#registry.register(target, target.name ?? "unknown");
  }

  emit(target) {
    const cbs = this.#listeners.get(target);
    if (cbs) cbs.forEach(cb => cb());
  }
}

const emitter = new EventEmitter();
let obj1 = { name: "sensor" };
let obj2 = { name: "timer" };

const ws = new WeakSet([obj1, obj2]);

emitter.subscribe(obj1, () => console.log("sensor fired"));
emitter.subscribe(obj2, () => console.log("timer fired"));
emitter.subscribe(obj1, () => console.log("sensor logged"));

emitter.emit(obj1);

console.log(ws.has(obj1));
obj1 = null;
console.log(ws.has({ name: "sensor" }));

🥶 Patreon has shared the tale of its seven year migration from JavaScript to TypeScript. There's a focus on tooling choices
🥶 Patreon has shared the tale of its seven year migration from JavaScript to TypeScript. There's a focus on tooling choices that might be useful if you're making a similar shift.

What is the output?
Anonymous voting

CHALLENGE

function Vehicle(make, model, year) {
  this.make = make;
  this.model = model;
  this.year = year;
  this.describe = function () {
    return `${this.year} ${this.make} ${this.model}`;
  };
}

Vehicle.prototype.age = function (currentYear) {
  return currentYear - this.year;
};

const car = new Vehicle("Toyota", "Supra", 1998);
const bike = new Vehicle("Harley", "Sportster", 2005);

console.log(car.describe());
console.log(bike.age(2025));
console.log(car.constructor === Vehicle);
console.log(Object.getPrototypeOf(car) === Vehicle.prototype);

📈 In The 49MB Web Page, Shubham Bose expresses surprise at finding that loading a single NY Times page results in 422 networ
📈 In The 49MB Web Page, Shubham Bose expresses surprise at finding that loading a single NY Times page results in 422 network requests and 49 megabytes of data transferred. He reflects on the problems that have led to this being a common experience on news sites.

What is the output?
Anonymous voting

CHALLENGE

const p1 = new Promise((resolve) => {
  console.log("A");
  resolve("B");
});

const p2 = p1.then((val) => {
  console.log(val);
  return "C";
});

p2.then((val) => {
  console.log(val);
});

console.log("D");

✌️ Temporal: The 9-Year Journey to Fix Time in JavaScript JavaScript’s date/time handling is notoriously messy and libraries
✌️ Temporal: The 9-Year Journey to Fix Time in JavaScript JavaScript’s date/time handling is notoriously messy and libraries like Moment.js became popular as a way to work around it. In 2017, Maggie Johnson-Pint, a maintainer of Moment.js, proposed the Temporal API to fix date/time handling for good, and we’re mostly there (support is growing, with Safari and Node to catch up). Jason Williams (Bloomberg)

✌️ Temporal: The 9-Year Journey to Fix Time in JavaScript JavaScript’s date/time handling is notoriously messy and libraries
✌️ Temporal: The 9-Year Journey to Fix Time in JavaScript JavaScript’s date/time handling is notoriously messy and libraries like Moment.js became popular as a way to work around it. In 2017, Maggie Johnson-Pint, a maintainer of Moment.js, proposed the Temporal API to fix date/time handling for good, and we’re mostly there (support is growing, with Safari and Node to catch up). Jason Williams (Bloomberg)

What is the output?
Anonymous voting

CHALLENGE


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

class ValidationError extends AppError {
  constructor(message) {
    super(message, 400);
    this.fields = [];
  }
}

function riskyOperation(value) {
  if (value === null) throw new ValidationError("Null value");
  if (value < 0) throw new AppError("Negative value", 422);
  return value * 2;
}

const results = [];

for (const val of [10, null, -5, 3]) {
  try {
    results.push(riskyOperation(val));
  } catch (e) {
    if (e instanceof ValidationError) {
      results.push(`Validation:${e.statusCode}`);
    } else if (e instanceof AppError) {
      results.push(`App:${e.statusCode}`);
    } else {
      results.push("Unknown");
    }
  }
}

console.log(results.join(" | "));

What is the output?
Anonymous voting

CHALLENGE

const p1 = new Promise((resolve) => {
  console.log("A");
  resolve("X");
});

const p2 = p1.then((val) => {
  console.log("B");
  return val + "Y";
});

const p3 = p2.then((val) => {
  console.log("C:", val);
});

console.log("D");

What is the output?
Anonymous voting

CHALLENGE
"use strict";

function createCounter() {
  let count = 0;

  return {
    increment() { count++; },
    decrement() { count--; },
    getCount() { return count; },
    reset: () => { count = 0; }
  };
}

const counter = createCounter();
counter.increment();
counter.increment();
counter.increment();
counter.decrement();

const { getCount, reset } = counter;

console.log(getCount());
reset();
console.log(counter.getCount());