CHALLENGE
const flags = {
READ: 0b0001,
WRITE: 0b0010,
EXECUTE: 0b0100,
DELETE: 0b1000,
};
const userPermissions = flags.READ | flags.WRITE | flags.EXECUTE;
const adminPermissions = userPermissions | flags.DELETE;
const canDelete = (adminPermissions & flags.DELETE) !== 0;
const canExecute = (userPermissions & flags.EXECUTE) !== 0;
const readOnly = userPermissions ^ flags.WRITE;
console.log(canDelete, canExecute, readOnly, adminPermissions >> 1);
❤2👍1🔥1
What is the output?
Anonymous Quiz
26%
true false 5 7
37%
false true 5 7
25%
true true 7 5
12%
true true 5 7
👍4❤3
CHALLENGE
const team = {
name: "Alpha",
members: ["Carlos", "Diana", "Eve"],
listMembers() {
return this.members.map(function (member) {
return `${this.name}: ${member}`;
});
},
listMembersArrow() {
return this.members.map((member) => {
return `${this.name}: ${member}`;
});
},
};
console.log(team.listMembers()[0]);
console.log(team.listMembersArrow()[0]);
❤7🔥3👍1
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