CHALLENGE
function makeCounter(start = 0, step = 1) {
let count = start;
const history = [];
return {
increment() {
count += step;
history.push(count);
return this;
},
decrement() {
count -= step;
history.push(count);
return this;
},
getHistory: () => history,
getCount: () => count,
};
}
const counter = makeCounter(10, 3);
counter.increment().increment().decrement();
console.log(counter.getCount());
console.log(counter.getHistory());👍3❤1
What is the output?
Anonymous Quiz
43%
13 [ 13, 16, 13 ]
29%
13 [13, 16, 10]
19%
10 [13, 16, 13]
10%
16 [13, 16, 13]
👍4❤2
CHALLENGE
const inventory = new Map([
["sword", { qty: 3, value: 150 }],
["shield", { qty: 1, value: 200 }],
["potion", { qty: 5, value: 30 }],
]);
const upgraded = new Map(
[...inventory.entries()]
.filter(([, item]) => item.value >= 100)
.map(([key, item]) => [key, { ...item, value: item.value * 2 }])
);
console.log(upgraded.size);
console.log(upgraded.get("sword").value);
console.log(upgraded.has("potion"));
console.log([...upgraded.keys()].join(", "));
❤2👍2🔥2
What is the output?
Anonymous Quiz
17%
2 300 true sword, shield
34%
2 150 false sword, shield
24%
3 300 true sword, shield, potion
25%
2 300 false sword, shield
❤2🔥1
CHALLENGE
const log = [];
const handler = {
set(target, key, value) {
log.push(`set:${key}=${value}`);
target[key] = value;
return true;
},
get(target, key) {
log.push(`get:${key}`);
return target[key];
}
};
const state = new Proxy({}, handler);
state.count = 0;
state.count = state.count + 1;
state.count = state.count + 1;
console.log(log.join(" | "));
❤3👍2🔥1
What is the output?
Anonymous Quiz
17%
get:count | set:count=0 | get:count | set:count=1 | get:count | set:count=2
51%
set:count=0 | get:count | set:count=1 | get:count | set:count=2 | get:count
12%
set:count=0 | set:count=1 | set:count=2
20%
set:count=0 | get:count | set:count=1 | get:count | set:count=2
Please open Telegram to view this post
VIEW IN TELEGRAM
❤33🤣7👍3🔥1
CHALLENGE
const obj = {
name: "Nikola",
greetArrow: () => {
return `Hello, ${this?.name ?? "stranger"}!`;
},
greetRegular() {
return `Hello, ${this.name}!`;
},
greetNested() {
const inner = () => `Hi, ${this.name}!`;
return inner();
}
};
console.log(obj.greetArrow());
console.log(obj.greetRegular());
console.log(obj.greetNested());👍6❤3🔥1
CHALLENGE
const a = 9007199254740991n;
const b = BigInt(Number.MAX_SAFE_INTEGER);
console.log(a === b);
console.log(a + 1n);
console.log(typeof a);
console.log(a === 9007199254740991);
👍4🔥1
CHALLENGE
const config = {
timeout: 0,
retries: null,
host: "",
port: undefined,
debug: false,
};
const timeout = config.timeout ?? 3000;
const retries = config.retries ?? 5;
const host = config.host ?? "localhost";
const port = config.port ?? 8080;
const debug = config.debug ?? true;
console.log(timeout, retries, host, port, debug);
❤7👍3🔥1
What is the output?
Anonymous Quiz
23%
0 5 8080 false
34%
0 5 localhost 8080 false
34%
3000 5 localhost 8080 true
9%
0 null 8080 false
👍5❤1
A plug-and-play real-time collaboration backend based on Yjs so you can quickly and safely wire up multi-user collaborative experiences into a JavaScript app. It runs on Node, Bun, Deno, or Cloudflare Workers. GitHub repo.
Tiptap
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤4👍2
CHALLENGE
"use strict";
function createCounter() {
let count = 0;
return {
increment() { count++; },
get value() { return count; },
toString() { return `Counter: ${count}`; }
};
}
const counter = createCounter();
counter.increment();
counter.increment();
counter.increment();
try {
counter.value = 99;
} catch (e) {
console.log(`${e.constructor.name}: ${counter}`);
}
❤3
What is the output?
Anonymous Quiz
23%
ReferenceError: Counter: 0
34%
SyntaxError: Counter: 3
23%
TypeError: Counter: 99
20%
TypeError: Counter: 3
A long-standing library, also widely used in the Python and R ecosystems, that offers over 50 visualization types, from basic charts and graphs to maps, plots, and heatmaps.
Plotly, Inc.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥3👍2
CHALLENGE
function Animal(name) {
this.name = name;
}
Animal.prototype.speak = function () {
return `${this.name} makes a sound.`;
};
function Dog(name, breed) {
Animal.call(this, name);
this.breed = breed;
}
Dog.prototype = Object.create(Animal.prototype);
Dog.prototype.constructor = Dog;
Dog.prototype.speak = function () {
return `${this.name} barks!`;
};
const dog = new Dog("Rex", "Labrador");
console.log(dog.speak());
console.log(dog instanceof Dog);
console.log(dog instanceof Animal);
console.log(Object.getPrototypeOf(dog) === Animal.prototype);
👍1
What is the output?
Anonymous Quiz
25%
Rex barks! true true true
40%
Rex makes a sound. true true false
30%
Rex barks! true true false
6%
Rex barks! true false false
❤3
Programming language legend 😉 Anders Hejlsberg was on The Pragmatic Engineer talking about his background, work on TypeScript, JavaScript's strengths and weaknesses, and how he uses AI.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4🔥2