CHALLENGE
  const data = { a: 1, b: 2, c: 3 };
const { a, ...rest } = data;
const newObj = { ...rest, a, d: 4 };
const arr = [1, 2, 3, 4, 5];
const [first, , third, ...remaining] = arr;
const result = [...remaining, third, first];
console.log(newObj);
console.log(result);What is the output?
  Anonymous Quiz
    22%
    { a: 1, b: 2, c: 3, d: 4 } [3, 1, 4, 5]
      
    60%
    { b: 2, c: 3, a: 1, d: 4 } [4, 5, 3, 1]
      
    12%
    { b: 2, c: 3, d: 4, a: 1 } [4, 5, 1, 3]
      
    7%
    { a: 1, d: 4, b: 2, c: 3 } [1, 3, 4, 5]
      
    π3π₯3β€2
  A fantastic walkthrough of Chromeβs origins and its evolution over the years. Addy looks at key milestones (multi-process architecture for example), security, its steps into the world of AI, and more.
Addy Osmani
Please open Telegram to view this post
    VIEW IN TELEGRAM
  1β€7π3π€©3π₯2
  CHALLENGE
console.log('1');
setTimeout(() => console.log('2'), 0);
Promise.resolve().then(() => console.log('3'));
queueMicrotask(() => console.log('4'));
setTimeout(() => console.log('5'), 0);
Promise.resolve().then(() => {
  console.log('6');
  return Promise.resolve();
}).then(() => console.log('7'));
console.log('8');β€6π4π₯4
  What is the output?
  Anonymous Quiz
    34%
    1 8 3 4 6 7 2 5
      
    30%
    1 8 4 3 6 2 7 5
      
    18%
    1 8 3 6 4 7 2 5
      
    18%
    1 2 3 4 5 6 7 8
      
    β€1
  A project originally spawned from the BBCβs R&D department, Peaks renders audio waveforms to a canvas element and allows scrolling, zooming, and the sort of things you might otherwise see in an audio editor. LGPL licensed.
Chris Needham et al.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  β€3π3π₯3
  CHALLENGE
class CustomError extends Error {
  constructor(message) {
    super(message);
    this.name = 'CustomError';
  }
}
try {
  try {
    throw new CustomError('inner error');
  } catch (e) {
    console.log(e.name);
    throw new Error('outer error');
  }
} catch (e) {
  console.log(e.message);
  console.log(e instanceof CustomError);
}β€3
  What is the output?
  Anonymous Quiz
    45%
    CustomError outer error false
      
    31%
    CustomError inner error true
      
    15%
    Error outer error false
      
    8%
    CustomError outer error true
      
    β€5π₯3
  π¨ Eyecons is a VS Code icon theme that automatically adapts the color of icons to fit your editor's main theme β well, from this list anyway.
π9β€1π₯1
  CHALLENGE
const original = {
  name: 'Sarah',
  scores: [85, 92, 78],
  details: {
    age: 25,
    city: 'Portland'
  }
};
const copy1 = { ...original };
const copy2 = JSON.parse(JSON.stringify(original));
copy1.name = 'Emma';
copy1.scores.push(95);
copy1.details.age = 30;
console.log(original.name, original.scores.length, original.details.age);β€7π₯4π2
  β€6π2
  In July, Socket warned us about a phishing campaign targeting npm package publishers. Sadly, a prolific package author (among others, like DuckDB, who explain how the attack worked on them) fell victim to the scam, resulting in some popular packages becoming compromised (like Chalk, debug, and others).
Gooding, Brown, et al. (Socket)
Please open Telegram to view this post
    VIEW IN TELEGRAM
  π€4π₯3β€1
  CHALLENGE
const createLogger = (prefix) => (message) => `${prefix}: ${message}`;
const createCounter = () => {
  let count = 0;
  return () => ++count;
};
const withLogging = (fn) => (...args) => {
  const result = fn(...args);
  console.log(`Called with: ${args}, Result: ${result}`);
  return result;
};
const counter = createCounter();
const loggedCounter = withLogging(counter);
const logger = createLogger('INFO');
console.log(loggedCounter());
console.log(logger(loggedCounter()));π7β€4
  CHALLENGE
  function createCounter() {
  let count = 0;
  return {
    increment: () => ++count,
    decrement: () => --count,
    getValue: () => count
  };
}
const counter1 = createCounter();
const counter2 = createCounter();
counter1.increment();
counter1.increment();
counter2.increment();
console.log(counter1.getValue() + counter2.getValue());π7π₯6β€1
  CHALLENGE
const original = {
  name: 'Emma',
  skills: ['JavaScript', 'Python'],
  config: { theme: 'dark', notifications: true }
};
const copy1 = { ...original };
const copy2 = JSON.parse(JSON.stringify(original));
const copy3 = Object.assign({}, original);
copy1.name = 'Sarah';
copy1.skills.push('React');
copy1.config.theme = 'light';
console.log(original.name);
console.log(original.skills.length);
console.log(original.config.theme);β€6π€£6π₯2
  What is the output?
  Anonymous Quiz
    29%
    Emma, 3, light
      
    26%
    Sarah, 2, dark
      
    26%
    Emma, 2, dark
      
    19%
    Sarah, 3, light
      
    π€8β€3π3
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  3β€42π₯12π7
  CHALLENGE
const obj = {
  name: 'Sarah',
  regularMethod: function() {
    return () => {
      console.log(this.name);
    };
  },
  arrowMethod: () => {
    return () => {
      console.log(this.name);
    };
  }
};
const regular = obj.regularMethod();
const arrow = obj.arrowMethod();
regular();
arrow();β€6