ar
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

إظهار المزيد

📈 نظرة تحليلية على قناة تيليجرام JavaScript

تُعد قناة JavaScript (@javascript) في القطاع اللغوي الإنكليزية لاعباً نشطاً. يضم المجتمع حالياً 31 150 مشتركاً، محتلاً المرتبة 4 164 في فئة التكنولوجيات والتطبيقات والمرتبة 12 815 في منطقة الهند.

📊 مؤشرات الجمهور والحراك

منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 31 150 مشتركاً.

بحسب آخر البيانات بتاريخ 18 سبتمبر, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -99، وفي آخر 24 ساعة بمقدار -9، مع بقاء الوصول العام مرتفعاً.

  • حالة التحقق: غير موثّقة
  • معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 6.21‎%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 2.30‎% من ردود الفعل نسبةً إلى إجمالي المشتركين.
  • وصول المنشورات: يحصل كل منشور على متوسط 1 935 مشاهدة. وخلال اليوم الأول يجمع عادةً 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

بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 19 سبتمبر, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.

31 150
المشتركون
-924 ساعات
-407 أيام
-9930 أيام
أرشيف المشاركات
What is the output?
Anonymous voting

CHALLENGE
const handler = {
  get(target, prop, receiver) {
    if (prop in target) {
      return Reflect.get(target, prop, receiver) * 2;
    }
    return Reflect.get(target, prop, receiver);
  },
  set(target, prop, value, receiver) {
    if (typeof value !== "number") return false;
    return Reflect.set(target, prop, value * 3, receiver);
  },
  has(target, prop) {
    return prop.startsWith("x") && Reflect.has(target, prop);
  },
};

const obj = new Proxy({ x1: 10, y1: 20 }, handler);
obj.x2 = 15;
obj.y2 = 40;

console.log(obj.x1);
console.log(obj.x2);
console.log("x1" in obj);
console.log("y1" in obj);
console.log(obj.y2);

What is the output?
Anonymous voting

CHALLENGE

const tag = (strings, ...values) => {
  return strings.reduce((result, str, i) => {
    const val = values[i - 1];
    const transformed =
      typeof val === "number" ? `[${val ** 2}]` : `{${val?.toUpperCase()}}`;
    return result + transformed + str;
  });
};

const name = "nova";
const level = 3;
const score = 97;

const output = tag`Player: ${name} | Level: ${level} | Score: ${score}`;
console.log(output);

What is the output?
Anonymous voting

CHALLENGE

class Session {
  #id;
  constructor(id) {
    this.#id = id;
  }
  getId() {
    return this.#id;
  }
}

const activeSessions = new WeakSet();

const s1 = new Session("alpha");
const s2 = new Session("beta");
let s3 = new Session("gamma");

activeSessions.add(s1);
activeSessions.add(s2);
activeSessions.add(s3);

console.log(activeSessions.has(s1));
console.log(activeSessions.has(s3));

activeSessions.delete(s2);
console.log(activeSessions.has(s2));

try {
  activeSessions.add("invalid");
} catch (e) {
  console.log(e instanceof TypeError);
}

console.log(activeSessions.has(s1));

What is the output?
Anonymous voting

CHALLENGE
const data = [
  { name: "Zara", score: 88 },
  { name: "Liam", score: 95 },
  { name: "Maya", score: 88 },
  { name: "Omar", score: 72 },
  { name: "Nina", score: 95 },
];

const sorted = [...data].sort((a, b) =>
  b.score !== a.score
    ? b.score - a.score
    : a.name.localeCompare(b.name)
);

console.log(sorted.map(p => `${p.name}:${p.score}`).join(", "));

What is the output?
Anonymous voting

CHALLENGE
const company = {
  name: "TechCorp",
  ceo: {
    name: "Morgan",
    address: {
      city: "Berlin"
    }
  },
  getRevenue: () => 5_000_000
};

const cfoCity    = company?.cfo?.address?.city ?? "Unknown";
const ceoCity    = company?.ceo?.address?.city ?? "Unknown";
const ceoCountry = company?.ceo?.address?.country ?? "N/A";
const revenue    = company?.getRevenue?.() ?? 0;
const employees  = company?.getEmployees?.() ?? "No data";

console.log(cfoCity, ceoCity, ceoCountry, revenue, employees);

What is the output?
Anonymous voting

CHALLENGE

const compose = (...fns) => x => fns.reduceRight((acc, fn) => fn(acc), x);
const pipe = (...fns) => x => fns.reduce((acc, fn) => fn(acc), x);

const double = x => x * 2;
const addTen = x => x + 10;
const square = x => x ** 2;
const negate = x => -x;

const composed = compose(negate, square, addTen, double);
const piped = pipe(negate, square, addTen, double);

const val = 3;

console.log(composed(val)); // compose: right-to-left
console.log(piped(val));    // pipe: left-to-right

😱
😱

What is the output?
Anonymous voting

CHALLENGE

class Vehicle {
  #speed = 0;

  constructor(type, maxSpeed) {
    this.type = type;
    this.maxSpeed = maxSpeed;
  }

  accelerate(amount) {
    this.#speed = Math.min(this.#speed + amount, this.maxSpeed);
    return this;
  }

  getStatus() {
    return `${this.type} going ${this.#speed}/${this.maxSpeed} km/h`;
  }
}

class ElectricVehicle extends Vehicle {
  #battery;

  constructor(type, maxSpeed, battery) {
    super(type, maxSpeed);
    this.#battery = battery;
  }

  accelerate(amount) {
    this.#battery -= amount * 0.5;
    return super.accelerate(amount);
  }

  getStatus() {
    return `${super.getStatus()} | Battery: ${this.#battery}%`;
  }
}

const ev = new ElectricVehicle("Tesla", 250, 100);
ev.accelerate(80).accelerate(200);
console.log(ev.getStatus());
console.log(ev instanceof Vehicle);
console.log(ev.constructor === ElectricVehicle);

🤔 Oxide Computer Company's Mitos ASCII Tool (above) converts images into ASCII text illustrations and animations, by way of
🤔 Oxide Computer Company's Mitos ASCII Tool (above) converts images into ASCII text illustrations and animations, by way of a built-in livecoding environment (built upon the fantastic play.core).

What is the output?
Anonymous voting

CHALLENGE
class BankAccount {
  #balance;
  #transactionLog = [];

  constructor(initialBalance) {
    this.#balance = initialBalance;
  }

  deposit(amount) {
    this.#balance += amount;
    this.#transactionLog.push(`+${amount}`);
    return this;
  }

  withdraw(amount) {
    if (amount > this.#balance) throw new Error("Insufficient funds");
    this.#balance -= amount;
    this.#transactionLog.push(`-${amount}`);
    return this;
  }

  get summary() {
    return `Balance: ${this.#balance} | Txns: ${this.#transactionLog.join(", ")}`;
  }
}

const account = new BankAccount(100);
account.deposit(50).deposit(25).withdraw(30);
console.log(account.summary);
console.log(account.hasOwnProperty("#balance"));

😮 Geometric.js: A Library for Doing Geometry Created by someone who works on graphics for the NYT, this elegant library lets
😮 Geometric.js: A Library for Doing Geometry Created by someone who works on graphics for the NYT, this elegant library lets you work with polygons, bounding boxes, reflection, interpolation, rotation, and the like (examples). Does one polygon intersect with another? There’s a function for that. Harry Stevens (The New York Times)

What is the output?
Anonymous voting