CHALLENGE
const obj = {
value: 42,
getValue() {
return this.value;
},
getArrowValue: () => {
return this.value;
},
getDelayedValue() {
setTimeout(function() {
console.log(this.value);
}, 0);
},
getFixedDelayedValue() {
setTimeout(() => {
console.log(this.value);
}, 0);
}
};
obj.getDelayedValue();
β€3
What is the output?
Anonymous Quiz
19%
TypeError: Cannot read property 'value' of undefined
43%
42
33%
undefined
5%
null
π9β€2π₯2
A full-featured PDF viewer for React, Solid, Svelte and vanilla JS apps. Built on top of PDF.js, it offers a wide array of features from simple PDF viewing to working with multiple and large documents with annotations. Demo. v3.0 bumps up to PDF.js v5 with ICC profile support, better JPEG 2000 support, and improved rendering of large pages.
Vancho Stojkov
Please open Telegram to view this post
VIEW IN TELEGRAM
π4π₯2β€1π€©1
CHALLENGE
const target = { name: 'Alice' };
const handler = {
get(obj, prop) {
return prop in obj ? obj[prop].toUpperCase() : 'NOT_FOUND';
},
set(obj, prop, value) {
if (typeof value !== 'string') {
return false;
}
obj[prop] = value.trim();
return true;
}
};
const proxy = new Proxy(target, handler);
proxy.name = ' Bob ';
proxy.age = 30;
console.log(`${proxy.name}-${proxy.age}-${proxy.job}`);
π9
What is the output?
Anonymous Quiz
16%
BOB -30-NOT_FOUND
31%
Bob-30-undefined
36%
BOB-NOT_FOUND-NOT_FOUND
16%
BOB-30-NOT_FOUND
β€3π€1
CHALLENGE
const inventory = {
items: ['apple', 'banana', 'orange'],
[Symbol.iterator]: function() {
let index = 0;
const items = this.items;
return {
next: function() {
return index < items.length ?
{ value: items[index++].toUpperCase(), done: false } :
{ done: true };
}
};
}
};
const result = [...inventory].join(' + ');
console.log(result);
β€4π4π₯1
What is the output?
Anonymous Quiz
19%
apple,banana,orange
21%
apple + banana + orange
53%
APPLE + BANANA + ORANGE
7%
[object Object]
π5β€2π₯1π€©1
CHALLENGE
const obj = {};
const sym1 = Symbol('description');
const sym2 = Symbol('description');
obj[sym1] = 'Value 1';
obj[sym2] = 'Value 2';
obj.regularProp = 'Regular';
const allKeys = Object.getOwnPropertySymbols(obj).length + Object.keys(obj).length;
const comparison = sym1 === sym2;
console.log(allKeys + ',' + comparison);
β€3π3π₯1
β€4π4π₯3
CHALLENGE
const team = {
members: ['Alice', 'Bob', 'Charlie'],
leader: 'Diana',
[Symbol.iterator]: function*() {
yield this.leader;
for(const member of this.members) {
yield member;
}
}
};
let names = [];
for (const person of team) {
names.push(person);
}
console.log(names.join(', '));
β€6π2
What is the output?
Anonymous Quiz
28%
Alice, Bob, Charlie, Diana
41%
Diana, Alice, Bob, Charlie
22%
Diana, Alice, Bob, Charlie, undefined
9%
Alice, Bob, Charlie
π7π€©3β€1
CHALLENGE
function processData(data) {
try {
if (!data) {
throw new TypeError('Data is required');
}
if (data.status === 'error') {
throw new Error('Invalid status');
}
return data.value.toUpperCase();
} catch (err) {
if (err instanceof TypeError) {
return 'Type Error';
}
return err.message;
}
}
console.log(processData({ status: 'error', value: 'test' }));
β€4
What is the output?
Anonymous Quiz
18%
Type Error
52%
Invalid status
19%
TYPE ERROR
10%
TypeError: Cannot read property 'toUpperCase' of undefined
π3π₯3β€2π€£1
A full-featured, configurable load generation tool that uses the Sobek Go-powered JavaScript engine to support writing test scripts in JavaScript. v1.0 promises stability, first-class TypeScript support, and better extensibility.
Grafana Labs
Please open Telegram to view this post
VIEW IN TELEGRAM
π6π₯2β€1
CHALLENGE
const obj = {
name: 'Original',
greet() {
return function() {
console.log(`Hello, ${this.name}`);
};
},
arrowGreet() {
return () => {
console.log(`Hello, ${this.name}`);
};
}
};
const globalThis = { name: 'Global' };
const newObj = { name: 'New' };
const regularFn = obj.greet();
const arrowFn = obj.arrowGreet();
regularFn.call(newObj);
β€5π3π€©1
What is the output?
Anonymous Quiz
27%
Hello, Original
45%
Hello, New
22%
Hello, undefined
6%
Hello, Global
π5β€4π₯3
If you or your users have CSV files to import, hereβs a complete CSV importing workflow for the frontend that you can drop into your app. Basic docs.
HelloCSV
Please open Telegram to view this post
VIEW IN TELEGRAM
β€3π₯3π2
CHALLENGE
const calculator = {
value: 10,
add: function(x) {
return this.value + x;
},
multiply: function(x) {
return this.value * x;
}
};
const add5 = calculator.add;
const double = calculator.multiply.bind(calculator);
const triple = calculator.multiply.bind({value: 3});
console.log(add5(2) + double(3) + triple(4));
β€2π2
π10β€4