What is the output?
Anonymous Quiz
29%
Hello, I'm Alice TypeError: Cannot read property 'name' of undefined Goodbye from undefined
40%
Hello, I'm Alice Hello, I'm undefined Goodbye from undefined
22%
Hello, I'm Alice Hello, I'm Goodbye from Alice
8%
Hello, I'm Alice Hello, I'm undefined Goodbye from Alice
June 11
Matteo Collina notes the Node.js ecosystem is “at a critical juncture”, with v18 and earlier now ‘End-of-Life’. He breaks down what that really means for users of legacy versions, and why you should skip Active LTS v20 and leap straight to v22 for maximum future-proofing. If you have to stay on older versions, though, Matteo shares an option to consider.
Matteo Collina
Please open Telegram to view this post
VIEW IN TELEGRAM
June 11
CHALLENGE
function task1() {
console.log('A');
setTimeout(() => console.log('B'), 0);
Promise.resolve().then(() => console.log('C'));
Promise.resolve().then(() => setTimeout(() => console.log('D'), 0));
Promise.resolve().then(() => console.log('E'));
setTimeout(() => console.log('F'), 0);
console.log('G');
}
task1();
// What is the order of the console output?
June 12
What is the output?
Anonymous Quiz
23%
A G B F C E D
33%
A B G C E F D
21%
A G C E B F D
23%
A G C E B D F
June 12
June 12
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);
June 13
June 13
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}`);
June 14
What is the output?
Anonymous Quiz
19%
May 15, at 8
31%
May 15, at 08
29%
May 15, at 08 AM
22%
May 15, at 12
June 14
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
June 14
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(''));
June 15
What is the output?
Anonymous Quiz
52%
Error: Input cannot be empty
21%
undefined
12%
''
14%
Type error: Input must be a string
June 15
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
June 15
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);
June 16
June 16
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
June 16
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));
June 17
What is the output?
Anonymous Quiz
24%
null
34%
TypeError: Cannot read properties of null (reading 'toString')
34%
Type error occurred
8%
Unknown error
June 17
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));
June 18