What is the output?
  Anonymous Quiz
    19%
    Hello, undefined
      
    24%
    TypeError: this.greet is not a function
      
    52%
    Hello, Sarah
      
    5%
    undefined
      
    β€5π1π₯1π€1π€©1
  The author takes us back ten years to the genesis of Prettier, the popular opinionated, deterministic code formatter he co-created with James Long. Prettier effectively introduced and popularized the practice of fully-automated AST-based code formatting in the JavaScript ecosystem.
Christopher Chedeau (Vjeux)
Please open Telegram to view this post
    VIEW IN TELEGRAM
  β€11π2π₯1
  CHALLENGE
class Calculator {
  static multiply(a, b) {
    return a * b;
  }
  
  static add = (a, b) => {
    return a + b;
  }
}
class ScientificCalculator extends Calculator {
  static multiply(a, b) {
    return super.multiply(a, b) * 2;
  }
}
console.log(Calculator.multiply(3, 4));
console.log(ScientificCalculator.add(5, 6));
console.log(ScientificCalculator.multiply(2, 3));β€4
  β€4π€3π2π₯2
  Graphviz is a suite of open source graph drawing tools of over 30 yearsβ vintage. Viz.js is a WebAssembly Graphviz build that brings its functionality into the browser. GitHub repo.
Michael Daines
Please open Telegram to view this post
    VIEW IN TELEGRAM
  β€6π2π₯1
  CHALLENGE
class Observable {
  constructor(subscriber) {
    this.subscriber = subscriber;
  }
  
  subscribe(observer) {
    return this.subscriber(observer);
  }
  
  map(fn) {
    return new Observable(observer => {
      return this.subscribe({
        next: value => observer.next(fn(value)),
        error: err => observer.error(err),
        complete: () => observer.complete()
      });
    });
  }
}
const source = new Observable(observer => {
  observer.next(1);
  observer.next(2);
  observer.complete();
});
const doubled = source.map(x => x * 2);
doubled.subscribe({
  next: value => console.log(value),
  complete: () => console.log('done')
});β€2
  What is the output?
  Anonymous Quiz
    16%
    1 2 done
      
    53%
    2 4 done
      
    20%
    undefined undefined done
      
    11%
    [object Object] [object Object] done
      
    β€4π1π₯1
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  β€2π1π₯1
  CHALLENGE
  const a = 9007199254740991n;
const b = BigInt(9007199254740991);
const c = 9007199254740992;
const d = BigInt(9007199254740992);
console.log(a === b);
console.log(Number(a) === c);
console.log(c === Number.MAX_SAFE_INTEGER + 1);
console.log(d > a);
console.log(typeof (a + 1n));
console.log(Number(d) === c);
What is the output?
  Anonymous Quiz
    22%
    true true true true bigint true
      
    41%
    true false true true bigint true
      
    29%
    false true true false number true
      
    9%
    true true false true bigint false
      
    β€3
  CHALLENGE
  const userInput = "<script>alert('xss')</script>";
const sanitized = userInput
  .replace(/</g, '<')
  .replace(/>/g, '>')
  .replace(/"/g, '"')
  .replace(/'/g, ''');
const credentials = {
  username: 'admin',
  password: 'secret123'
};
const safeLog = (obj) => {
  const { password, ...safe } = obj;
  return JSON.stringify(safe);
};
console.log(sanitized);
console.log(safeLog(credentials));What is the output?
  Anonymous Quiz
    24%
    <script>alert("xss")</script> {"username":"admin"}
      
    36%
    <script>alert('xss')</script> {"username":"admin","password":"secret123"}
      
    9%
    {"username":"admin"}
      
    β€4π₯3π2
  CHALLENGE
  const wm = new WeakMap();
const obj1 = {};
const obj2 = {};
const obj3 = obj1;
wm.set(obj1, 'first');
wm.set(obj2, 'second');
wm.set(obj3, 'third');
console.log(wm.get(obj1));
console.log(wm.get(obj2));
console.log(wm.get(obj3));
console.log(wm.has(obj1));
console.log(wm.size);
What is the output?
  Anonymous Quiz
    29%
    third second third true undefined
      
    25%
    third second first true 2
      
    36%
    first second third true 3
      
    11%
    first second first false undefined
      
    π₯3β€2π1
  CHALLENGE
const data = '{"name": "Maria", "age": 25, "skills": ["JavaScript", "Python"]}';
try {
  const parsed = JSON.parse(data);
  const modified = {
    ...parsed,
    age: parsed.age + 5,
    skills: [...parsed.skills, "TypeScript"]
  };
  
  const serialized = JSON.stringify(modified, null, 0);
  const reparsed = JSON.parse(serialized);
  
  console.log(reparsed.skills.length);
  console.log(typeof reparsed.age);
} catch (error) {
  console.log('Parse error');
}β€7
  π4π₯2π€2β€1
  CHALLENGE
const numbers = [1, 2, 3, 4, 5];
const pipeline = (...fns) => (value) => fns.reduce((acc, fn) => fn(acc), value);
const multiply = (x) => (y) => x * y;
const add = (x) => (y) => x + y;
const square = (x) => x * x;
const transform = pipeline(
multiply(2),
add(3),
square
);
const result = numbers.map(transform);
console.log(result);
π6β€3
  What is the output?
  Anonymous Quiz
    22%
    [4, 16, 36, 64, 100]
      
    54%
    [25, 49, 81, 121, 169]
      
    17%
    [16, 36, 64, 100, 144]
      
    6%
    [9, 25, 49, 81, 121]
      
    π3β€2
  The latest cutting edge version of Node has arrived with Web Storage enabled by default, JSON.stringify perf improvements, a new --allow-net option in the permission model, built-in Uint8Array base64/hex conversion, and WebAssembly and JIT optimizations. As shown in the diagram above, this means Node 24 will soon be promoted to being the 'active' LTS release and Node 22 will enter its 'maintenance' LTS phase.
Rafael Gonzaga
Please open Telegram to view this post
    VIEW IN TELEGRAM
  π12β€4π₯1
  CHALLENGE
function Vehicle(type) {
  this.type = type;
}
Vehicle.prototype.describe = function() {
  return `This is a ${this.type}`;
};
function Car(brand) {
  Vehicle.call(this, 'car');
  this.brand = brand;
}
Car.prototype = Object.create(Vehicle.prototype);
Car.prototype.constructor = Car;
Car.prototype.describe = function() {
  return Vehicle.prototype.describe.call(this) + ` made by ${this.brand}`;
};
const tesla = new Car('Tesla');
console.log(tesla.describe());
console.log(tesla.constructor.name);β€2