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
โค5๐ฅ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
5%
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
CHALLENGE
const person = {
name: "Marcus",
greet: function () {
const inner = () => `Hello, I am ${this.name}`;
return inner();
},
greetArrow: () => {
return `Hello, I am ${this.name}`;
},
};
const detached = person.greet;
console.log(person.greet());
console.log(person.greetArrow());
console.log(detached?.());๐2
CHALLENGE
const transactions = [
{ type: "credit", amount: 200, category: "salary" },
{ type: "debit", amount: 50, category: "food" },
{ type: "debit", amount: 30, category: "food" },
{ type: "credit", amount: 100, category: "bonus" },
{ type: "debit", amount: 70, category: "transport" },
];
const summary = transactions.reduce((acc, { type, amount, category }) => {
acc.balance += type === "credit" ? amount : -amount;
acc.byCategory[category] = (acc.byCategory[category] ?? 0) + amount;
acc.count[type] = (acc.count[type] ?? 0) + 1;
return acc;
}, { balance: 0, byCategory: {}, count: {} });
console.log(summary.balance);
console.log(JSON.stringify(summary.byCategory));
console.log(JSON.stringify(summary.count));
โค2
โค1๐ค1
Type in a package name and get suggestions of lighter alternatives or Node APIs and code snippets that do the same task. For example: is-number leads to a one-liner, axios turns into fetch, and chalk recommends util.styleText. A neat idea itโd be cool to see grow further.
e18e
Please open Telegram to view this post
VIEW IN TELEGRAM
โค6๐ค1
CHALLENGE
class Pipeline {
#value;
#log = [];
constructor(value) {
this.#value = value;
}
map(fn) {
this.#value = fn(this.#value);
this.#log.push(`map:${this.#value}`);
return this;
}
filter(fn) {
if (Array.isArray(this.#value)) {
this.#value = this.#value.filter(fn);
this.#log.push(`filter:${this.#value}`);
}
return this;
}
reduce(fn, init) {
this.#value = this.#value.reduce(fn, init);
this.#log.push(`reduce:${this.#value}`);
return this;
}
result() {
console.log(this.#log.join(' | '));
return this.#value;
}
}
const output = new Pipeline([1, 2, 3, 4, 5, 6])
.filter(x => x % 2 === 0)
.map(arr => arr.map(x => x ** 2))
.reduce((acc, x) => acc + x, 0)
.result();
console.log(output);โค3๐1
What is the output?
Anonymous Quiz
45%
filter:2,4,6 | map:4,16,36 | reduce:56 56
24%
filter:2,4,6 | map:2,4,6 | reduce:12 12
22%
filter:1,3,5 | map:1,9,25 | reduce:35 35
8%
filter:2,4,6 | map:4,16,36 | reduce:56 0
โค4๐2๐ฅ1
Available for several platforms, including Node, this SDK lets you wield the agentic engine behind Copilot in your own apps (coupled with your own custom-built tools) and it uses an existing Copilot subscription. The getting started tutorial provides a good intro and the cookbook includes some sample apps.
GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
๐5โค4๐ค3๐ฅ1
CHALLENGE
const memoize = (fn) => {
const cache = new Map();
return (...args) => {
const key = JSON.stringify(args);
if (cache.has(key)) {
return cache.get(key);
}
const result = fn(...args);
cache.set(key, result);
return result;
};
};
let callCount = 0;
const expensiveMultiply = memoize((a, b) => {
callCount++;
return a * b;
});
console.log(expensiveMultiply(4, 5));
console.log(expensiveMultiply(4, 5));
console.log(expensiveMultiply(3, 7));
console.log(expensiveMultiply(4, 5));
console.log(`calls: ${callCount}`);
โค2๐2๐ฅ1
What is the output?
Anonymous Quiz
27%
20 20 21 20 calls: 4
43%
20 20 21 20 calls: 2
21%
20 20 21 20 calls: 3
10%
20 20 21 calls: 2
โค4๐1๐ฅ1