What is the output?
Anonymous Quiz
27%
Processing: data Promise: Promise { <pending> } Final: DATA
38%
Promise: Promise { <pending> } Processing: data Final: DATA
28%
Promise: Promise { <pending> } Final: DATA Processing: data
7%
Processing: data Final: DATA Promise: Promise { <pending> }
π4β€2π₯1
CHALLENGE
class DataProcessor {
constructor(transform) {
this.transform = transform;
}
process(data) {
return this.transform(data);
}
}
const multiply = x => x * 2;
const addTen = x => x + 10;
const toString = x => `Result: ${x}`;
const compose = (...fns) => x => fns.reduceRight((acc, fn) => fn(acc), x);
const processor = new DataProcessor(compose(toString, addTen, multiply));
console.log(processor.process(5));β€3π1π₯1
Itβs been more than four years since we linked to Sindre's handy resource, but it continues to get updates and tweaks (and, if you want, you can contribute a submission too β though the bar is quite high).
Sindre Sorhus
Please open Telegram to view this post
VIEW IN TELEGRAM
β€3π2π₯2
CHALLENGE
const target = { name: 'Sarah', age: 25 };
const handler = {
get(obj, prop) {
if (prop in obj) {
return obj[prop].toString().toUpperCase();
}
return `Property ${prop} not found`;
},
set(obj, prop, value) {
obj[prop] = value * 2;
return true;
}
};
const proxy = new Proxy(target, handler);
proxy.salary = 50000;
console.log(proxy.name);
console.log(proxy.age);
console.log(proxy.salary);
console.log(proxy.city);What is the output?
Anonymous Quiz
50%
SARAH 25 100000 Property city not found
38%
SARAH 25 50000 Property city not found
12%
Sarah 25 50000 undefined
0%
Sarah age salary city
β€1π1π₯1