TGViewer
Channel Public Channel
JavaScript

JavaScript

@javascript

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
Subscribers
31.1K
Photos
1.2K
Videos
10
Links
895

Showing posts older than #2739 · Back to latest

Older Posts 20 shown
Post #2738 3.63K
  • 🔥 2
  • ❤ 1
  • 👍 1
Post #2737 3.8K
CHALLENGE

class EventManager {
constructor() {
this.listeners = new Map();
}

addListener(event, callback) {
if (!this.listeners.has(event)) {
this.listeners.set(event, new Set());
}
this.listeners.get(event).add(callback);
}

removeAllListeners() {
this.listeners.clear();
}
}

const manager = new EventManager();
const obj = { data: new Array(1000).fill('memory') };
manager.addListener('test', () => obj.data.length);
manager.removeAllListeners();
console.log(manager.listeners.size);
Post #2736 3.51K
  • 🤔 8
  • ❤ 3
  • 👍 3
Post #2735 3.89K
CHALLENGE

const Maybe = {
of: (value) => ({ value, map: f => value == null ? Maybe.nothing() : Maybe.of(f(value)) }),
nothing: () => ({ value: null, map: () => Maybe.nothing() })
};

const result = Maybe.of(5)
.map(x => x * 2)
.map(x => x > 15 ? null : x)
.map(x => x + 1)
.map(x => x.toString());

console.log(result.value);
  • 🤔 8
  • ❤ 4
  • 👍 2
Post #2733 3.95K
  • ❤ 5
  • 🔥 2
  • 👍 1
Post #2732 4.26K
CHALLENGE

function Vehicle(type) {
this.type = type;
}

Vehicle.prototype.describe = function() {
return `This is a ${this.type}`;
};

function Car(brand) {
Vehicle.call(this, 'car');
this.brand = brand;
}

Car.prototype = Object.create(Vehicle.prototype);
Car.prototype.constructor = Car;

Car.prototype.describe = function() {
return Vehicle.prototype.describe.call(this) + ` made by ${this.brand}`;
};

const tesla = new Car('Tesla');
console.log(tesla.describe());
console.log(tesla.constructor.name);
  • ❤ 5
Post #2731 4.54K
🤟 Node.js v25.0.0 (Current) Released

The latest cutting edge version of Node has arrived with Web Storage enabled by default, JSON.stringify perf improvements, a new --allow-net option in the permission model, built-in Uint8Array base64/hex conversion, and WebAssembly and JIT optimizations. As shown in the diagram above, this means Node 24 will soon be promoted to being the 'active' LTS release and Node 22 will enter its 'maintenance' LTS phase.

Rafael Gonzaga
  • 👍 12
  • ❤ 5
  • 🔥 1
Post #2730 4.64K
  • 👍 3
  • ❤ 2
Post #2729 4.53K
CHALLENGE

const numbers = [1, 2, 3, 4, 5];

const pipeline = (...fns) => (value) => fns.reduce((acc, fn) => fn(acc), value);

const multiply = (x) => (y) => x * y;
const add = (x) => (y) => x + y;
const square = (x) => x * x;

const transform = pipeline(
multiply(2),
add(3),
square
);

const result = numbers.map(transform);
console.log(result);
  • 👍 6
  • ❤ 3
Post #2728 4.46K
  • 👍 5
  • 🔥 2
  • 🤔 2
  • ❤ 1
Post #2727 4.26K
CHALLENGE

const data = '{"name": "Maria", "age": 25, "skills": ["JavaScript", "Python"]}';

try {
const parsed = JSON.parse(data);
const modified = {
...parsed,
age: parsed.age + 5,
skills: [...parsed.skills, "TypeScript"]
};

const serialized = JSON.stringify(modified, null, 0);
const reparsed = JSON.parse(serialized);

console.log(reparsed.skills.length);
console.log(typeof reparsed.age);
} catch (error) {
console.log('Parse error');
}
  • ❤ 7
Post #2726 3.61K
  • 🔥 3
  • ❤ 2
  • 👍 1
Post #2725 3.98K
CHALLENGE

const wm = new WeakMap();
const obj1 = {};
const obj2 = {};
const obj3 = obj1;

wm.set(obj1, 'first');
wm.set(obj2, 'second');
wm.set(obj3, 'third');

console.log(wm.get(obj1));
console.log(wm.get(obj2));
console.log(wm.get(obj3));
console.log(wm.has(obj1));
console.log(wm.size);
Post #2724 4.27K
  • ❤ 4
  • 🔥 3
  • 👍 2
Post #2723 3.8K
CHALLENGE

const userInput = "<script>alert('xss')</script>";
const sanitized = userInput
.replace(/</g, '&lt;')
.replace(/>/g, '&gt;')
.replace(/"/g, '&quot;')
.replace(/'/g, '&#x27;');

const credentials = {
username: 'admin',
password: 'secret123'
};

const safeLog = (obj) => {
const { password, ...safe } = obj;
return JSON.stringify(safe);
};

console.log(sanitized);
console.log(safeLog(credentials));
Post #2721 4.09K
CHALLENGE

const a = 9007199254740991n;
const b = BigInt(9007199254740991);
const c = 9007199254740992;
const d = BigInt(9007199254740992);

console.log(a === b);
console.log(Number(a) === c);
console.log(c === Number.MAX_SAFE_INTEGER + 1);
console.log(d > a);
console.log(typeof (a + 1n));
console.log(Number(d) === c);
  • ❤ 1
Post #2720 4.48K
👍 The Firefox team has put together a way for you to give input on which Interop proposals matter the most to you (above). Go to the Interop Feature Ranking site (GitHub account required) and drag the web platform features that matter most for you to the top.
  • ❤ 5
  • 👍 1
  • 🔥 1
Post #2719 4.26K
  • ❤ 5
  • 👍 1
  • 🔥 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →