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
898

Showing posts older than #2415 Β· Back to latest

Older Posts 20 shown
Post #2414 4.25K
πŸ“– Exploring JavaScript (ES2025 Edition)

Dr. Axel is back with his latest book covering all things relating to modern JavaScript at the language level (think built-in data types, modularity, how objects, classes and promises work, etc.). As with all of Axel's books, it’s available to buy but also to read online in HTML form for free. He’s also produced a set of flashcards to help you learn language features in both HTML and Anki forms.

Dr. Axel Rauschmayer
  • ❀ 5
  • πŸ”₯ 4
  • πŸ‘ 2
Post #2413 4.51K
  • πŸ‘ 9
  • πŸ€” 1
Post #2412 4.71K
CHALLENGE

function createCounter() {
let count = 0;

return {
increment() {
count++;
return count;
},
decrement() {
count--;
return count;
},
getValue() {
return count;
}
};
}

const counter1 = createCounter();
const counter2 = createCounter();

counter1.increment();
counter1.increment();
counter2.increment();
counter1.decrement();

console.log(counter1.getValue() + counter2.getValue());
  • πŸ‘ 7
  • ❀ 5
  • 🀣 3
  • πŸ”₯ 1
Post #2411 4.71K
  • ❀ 4
  • πŸ‘ 3
Post #2410 4.27K
CHALLENGE

function highlight(strings, ...values) {
return strings.reduce((result, str, i) => {
const value = values[i] ? `<span>${values[i]}</span>` : '';
return result + str + value;
}, '');
}

const language = 'JavaScript';
const years = 10;

const result = highlight`I have been coding in ${language} for ${years} years`;
console.log(result);
  • ❀ 9
  • πŸ‘ 6
Post #2409 4.88K
  • πŸ‘ 6
  • ❀ 3
  • 🀩 3
  • πŸ”₯ 2
Post #2408 4.55K
CHALLENGE

function Animal(name) {
this.name = name;
}

Animal.prototype.speak = function() {
return `${this.name} makes a noise.`;
};

function Dog(name) {
Animal.call(this, name);
}

Dog.prototype = Object.create(Animal.prototype);
Dog.prototype.constructor = Dog;

Dog.prototype.speak = function() {
return `${this.name} barks.`;
};

const animal = new Animal('Rover');
const dog = new Dog('Rex');

console.log(dog instanceof Animal, dog.speak(), animal.speak(), Dog.prototype.isPrototypeOf(dog));
  • ❀ 8
  • πŸ‘ 1
  • πŸ”₯ 1
Post #2407 4.59K
  • ❀ 3
  • 🀣 2
Post #2406 4.93K
CHALLENGE

function process(data) {
try {
if (!data) {
throw new TypeError('No data provided');
}

if (Array.isArray(data)) {
return data.map(item => item * 2);
}

if (typeof data === 'object') {
return Object.keys(data);
}

return data.toString();
} catch (error) {
if (error instanceof TypeError) {
return 'Type error occurred';
}
return 'Unknown error';
}
}

console.log(process(null));
  • πŸ‘ 8
  • ❀ 4
  • πŸ”₯ 3
Post #2405 4.63K
πŸ•ΉοΈ Odyc.js: A JS Library for Pixel Games/Stories

Has a bit of a 8-bit Game Boy Color vibe to it. You can create games, and try some examples, in this online playground.

Charles Cailleteau
  • ❀ 8
  • πŸ€” 5
  • πŸ‘ 1
  • πŸ”₯ 1
  • 🀩 1
Post #2404 4.52K
  • πŸ‘ 2
  • πŸ”₯ 2
Post #2403 4.86K
CHALLENGE

const user = {
name: 'Alice',
age: 30
};

const handler = {
get(target, prop) {
if (prop in target) {
return target[prop];
}
return `Property '${prop}' doesn't exist`;
},
set(target, prop, value) {
if (prop === 'age' && typeof value !== 'number') {
console.log(`Error: ${value} is not a valid age`);
return false;
}
target[prop] = value;
return true;
}
};

const userProxy = new Proxy(user, handler);
userProxy.age = '31';
userProxy.job = 'Developer';

console.log(userProxy.job);
  • ❀ 4
  • πŸ”₯ 1
Post #2402 4.48K
⛽️ npmgraph: A Tool to Visualize npm Module Dependencies

Give this Web-based tool one or more npm package names (or even your package.json file) and you can see a visualization of the dependency graphs for those packages, including where they intersect. Packages can be colored by various criteria (such as number of maintainers) and you can download SVGs of the graphs.

Kieffer, Brigante, et al.
  • πŸ‘ 8
  • ❀ 4
  • πŸ”₯ 2
  • 🀣 1
Post #2401 4.54K
  • ❀ 2
Post #2400 4.87K
CHALLENGE

function processData(input) {
try {
if (typeof input !== 'string') {
throw new TypeError('Input must be a string');
}

if (input.length === 0) {
throw new Error('Input cannot be empty');
}

return input.toUpperCase();
} catch (error) {
if (error instanceof TypeError) {
return `Type error: ${error.message}`;
}
return `Error: ${error.message}`;
}
}

console.log(processData(''));
  • ❀ 11
  • πŸ‘ 1
Post #2399 4.75K
πŸ”΅ The State of React and the Community in 2025

React continues to be a major dependency in the JavaScript world but recent innovations have led to much discussion about how it should move forward. Redux maintainer Mark Erikson gives an overview of React’s development over time, what led to some of its innovations, and dispels some β€˜FUD and confusion’ about where it's headed.

Mark Erikson
  • ❀ 11
  • πŸ‘ 4
  • πŸ”₯ 2
Post #2398 4.74K
  • πŸ‘ 6
  • ❀ 1
  • πŸ€” 1
Post #2397 4.87K
CHALLENGE

const date = new Date('2023-05-15T12:30:00Z');  // A specific UTC date

const formatter = new Intl.DateTimeFormat('en-US', {
year: 'numeric',
month: 'long',
day: 'numeric',
hour: '2-digit',
minute: '2-digit',
timeZone: 'America/New_York'
});

const parts = formatter.formatToParts(date);
const month = parts.find(part => part.type === 'month').value;
const day = parts.find(part => part.type === 'day').value;
const hour = parts.find(part => part.type === 'hour').value;

console.log(`${month} ${day}, at ${hour}`);
  • ❀ 4
Post #2396 4.87K
  • ❀ 5
  • πŸ‘ 4
  • πŸ”₯ 1
  • πŸ€” 1
Post #2395 5.03K
CHALLENGE

function* fibonacci() {
let [a, b] = [0, 1];
while (true) {
yield a;
[a, b] = [b, a + b];
}
}

const fib = fibonacci();

const result = [];
for (let i = 0; i < 4; i++) {
result.push(fib.next().value);
}

const sum = result.reduce((total, num) => total + num, 0);
console.log(sum);
  • πŸ‘ 5
  • ❀ 3
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 β†’