What is the output?
Anonymous Quiz
25%
A:1,B:1,C:2
32%
B:1,A:1,B:2,C:2
29%
A:1,B:1,A:2,B:2,C:2
14%
A:1,B:1,B:2,C:2
CHALLENGE
function makeCounters() {
const counters = [];
for (var i = 0; i < 3; i++) {
let j = i;
counters.push(() => `${i}-${j}`);
}
return counters;
}
const [a, b, c] = makeCounters();
console.log(a(), b(), c());
export {};❤4👍1🔥1
What is the output?
Anonymous Quiz
34%
0-0 1-1 2-2
35%
3-0 3-1 3-2
26%
undefined-0 undefined-1 undefined-2
4%
3-0 3-1 3-3
CHALLENGE
const a = Math.max();
const b = Math.min();
const c = 0.1 + 0.2 === 0.3;
const d = Math.max(1, NaN, 3);
const e = [1, 2, 3].reduce((sum, n) => sum + n, 0) / 3;
const f = Number.isInteger(5.0);
console.log(a, b, c, d, e, f);
👍2
CHALLENGE
const arr = [1, [2, 3], { a: 4 }];
const copy = [...arr];
copy[1].push(99);
copy[2].a = 100;
arr[0] = 999;
console.log(arr[0], arr[1], arr[2].a, copy[0]);👍2🔥1
What is the output?
Anonymous Quiz
44%
999 [ 2, 3, 99 ] 100 1
25%
999 [ 2, 3 ] 100 1
22%
999 [ 2, 3, 99 ] 4 1
9%
1 [ 2, 3, 99 ] 100 1
❤8👍2🔥2
CHALLENGE
function makeFns() {
const result = [];
for (var i = 0; i < 3; i++) {
let j = i;
result.push(() => i + j);
}
return result;
}
const fns = makeFns();
console.log(fns.map(f => f()).join(','));❤5🔥1
❤4👍1
CHALLENGE
class Base {}
class Derived extends Base {
static [Symbol.hasInstance](instance) {
return false;
}
}
const d = new Derived();
console.log(d instanceof Derived, d instanceof Base, Object.getPrototypeOf(Derived) === Base);👍3🔥2❤1
What is the output?
Anonymous Quiz
23%
false true false
42%
false true true
23%
true true true
13%
false false true
❤2
CHALLENGE
function* inner() {
yield 1;
yield 2;
return 'inner-done';
}
function* outer() {
const result = yield* inner();
yield result;
yield 3;
}
const gen = outer();
const results = [];
let r = gen.next();
while (!r.done) {
results.push(r.value);
r = gen.next();
}
console.log(results.join(','));
export {};❤5👍2🔥1
What is the output?
Anonymous Quiz
26%
1,2,inner-done,3,undefined
32%
1,2,undefined,3
33%
1,2,inner-done,3
9%
1,2,3
❤3👍2
CHALLENGE
const compose = (...fns) => x => fns.reduceRight((acc, fn) => fn(acc), x);
const pipe = (...fns) => x => fns.reduce((acc, fn) => fn(acc), x);
const inc = x => x + 1;
const double = x => x * 2;
const square = x => x * x;
const f = compose(square, double, inc);
const g = pipe(square, double, inc);
console.log(f(2), g(2));
👍4🔥2❤1
❤1👍1🤩1
CHALLENGE
const compose = (...fns) => x => fns.reduceRight((acc, fn) => fn(acc), x);
const pipe = (...fns) => x => fns.reduce((acc, fn) => fn(acc), x);
const add = n => x => x + n;
const mul = n => x => x * n;
const composed = compose(add(3), mul(2));
const piped = pipe(add(3), mul(2));
console.log(composed(5), piped(5));
🔥4❤1
🔥2❤1👍1
CHALLENGE
const proto = { inherited: 'nope' };
const obj = Object.create(proto);
obj.b = 2;
obj[1] = 'one';
obj.a = 1;
Object.defineProperty(obj, 'hidden', { value: 'secret', enumerable: false });
obj[Symbol('sym')] = 'symbolValue';
console.log(
Object.keys(obj).join(','),
Object.values(obj).join(','),
Object.entries(obj).length
);👍2❤1🔥1
What is the output?
Anonymous Quiz
25%
1,b,a one,2,1 4
31%
a,b,1 1,2,one 3
28%
b,a,1 2,1,one 3
16%
1,b,a one,2,1 3
❤1👍1🔥1