Telegram Web Link
πŸ•ΉοΈ 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
Please open Telegram to view this post
VIEW IN TELEGRAM
❀6πŸ€”5πŸ‘1πŸ”₯1🀩1
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
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));
❀6πŸ‘1
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
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());
❀5πŸ‘5🀣3πŸ”₯1
What is the output?
Anonymous Quiz
18%
1
24%
undefined
16%
NaN
42%
2
πŸ‘9πŸ€”1
πŸ“– 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
πŸ”₯4❀3πŸ‘2
CHALLENGE

class ShoppingCart {
constructor() {
if (ShoppingCart.instance) {
return ShoppingCart.instance;
}

this.items = [];
ShoppingCart.instance = this;
}

addItem(item) {
this.items.push(item);
}

getItems() {
return [...this.items];
}
}

const cart1 = new ShoppingCart();
const cart2 = new ShoppingCart();

cart1.addItem('Book');
cart2.addItem('Laptop');

console.log(cart1.getItems());
πŸ‘6πŸ€”2❀1πŸ”₯1
πŸ˜‰ Compiling JavaScript Ahead-of-Time

The creator of the Porffor JavaScript compiler talks about the various ways to make JavaScript faster to execute, before digging into Porffor’s approach.

Oliver Medhurst
Please open Telegram to view this post
VIEW IN TELEGRAM
❀5πŸ‘3πŸ”₯1
CHALLENGE

const templateFn = (strings, ...values) => {
return strings.reduce((result, str, i) => {
const value = values[i] !== undefined ?
(typeof values[i] === 'number' ? values[i] * 2 : values[i]) : '';
return result + str + value;
}, '');
};

const num = 5;
const str = 'world';

const result = templateFn`Hello ${str}, ${num} times ${'!'}`;
console.log(result);
πŸ‘5❀2
πŸ€” <syntax-highlight>: A Custom Element for Syntax Highlighting

A custom element that uses the CSS Custom Highlight API (supported by most modern browsers) for syntax highlighting so you don’t need to retreat to the age-old method of wrapping every token in spans.

AndrΓ© Ruffert
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘5❀3πŸ”₯1
CHALLENGE

function processConfig(config) {
const settings = {
timeout: config.timeout ?? 1000,
retries: config.retries ?? 3,
logging: config.logging ?? false,
debug: config.debug || true
};

return settings;
}

const userConfig = {
timeout: 0,
retries: null,
logging: false,
debug: false
};

console.log(processConfig(userConfig));
πŸ‘8❀1
CHALLENGE

const createMathOps = (base) => {
return {
add: (x) => base + x,
multiply: (x) => base * x
};
};

const createAdvancedMathOps = (base) => {
const basicOps = createMathOps(base);
return {
...basicOps,
square: () => basicOps.multiply(base),
addThenSquare: (x) => {
const added = basicOps.add(x);
return added * added;
}
};
};

const calculator = createAdvancedMathOps(5);
console.log(calculator.addThenSquare(3));
πŸ‘7❀1
What is the output?
Anonymous Quiz
37%
64
17%
8
32%
64
14%
25
🀣20πŸ€”15❀4
2025/07/10 22:58:02
Back to Top
HTML Embed Code: