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
What is the output?
Anonymous Quiz
17%
May 15, at 8
32%
May 15, at 08
31%
May 15, at 08 AM
20%
May 15, at 12
π6β€1π€1
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
Please open Telegram to view this post
VIEW IN TELEGRAM
β€9π4π₯2
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(''));
β€10π1
What is the output?
Anonymous Quiz
52%
Error: Input cannot be empty
21%
undefined
13%
''
13%
Type error: Input must be a string
β€2
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.
Please open Telegram to view this post
VIEW IN TELEGRAM
π8β€4π₯2π€£1
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);
β€2π₯1
What is the output?
Anonymous Quiz
28%
31 is not a valid age Developer
39%
Error: 31 is not a valid age Developer
24%
Error: 31 is not a valid age Property 'job' doesn't exist
9%
Error: 31 is not a valid age undefined
π2π₯2
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
β€7π€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
What is the output?
Anonymous Quiz
26%
null
32%
TypeError: Cannot read properties of null (reading 'toString')
34%
Type error occurred
8%
Unknown error
β€2π€£2
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π₯1
What is the output?
Anonymous Quiz
35%
true 'Rex barks.' 'Rover makes a noise.' true
34%
false 'Rex barks.' 'Rover makes a noise.' true
22%
true 'Rex makes a noise.' 'Rover makes a noise.' true
9%
true 'Rex barks.' 'Rover makes a noise.' false
π5β€3π€©3π₯2
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
What is the output?
Anonymous Quiz
21%
I have been coding in <span>JavaScript</span> for <span>10</span>
38%
I have been coding in <span>JavaScript</span> for <span>10</span> years
30%
I have been coding in JavaScript for 10 years
10%
I have been coding in <span>JavaScript</span> for <span>10</span> yearsundefined
β€3π3
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());
π6β€5π€£3π₯1
π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
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());
What is the output?
Anonymous Quiz
11%
['Laptop']
26%
TypeError: Cannot read property 'push' of undefined
43%
['Book', 'Laptop']
21%
['Book']
π6π€2β€1π₯1