Note from 16 March 2023

TIL there are nullish coalescing operator (??) and assignment (??=) in many programming languages, including JavaScript.

Never used them, always either using || or initialising variables with undefined.

Should I refactor? 🤔


  1. TIL IntersectionObserver's rootMargin only works if the observer is in the same origin, because of privacy concerns:

    There is a risk that the API may be used to probe for information about the geometry of the global viewport itself, which may be used to deduce the user’s hardware configuration.

    That's why this demo of a sticky navigation doesn't work in CodePen's default view… 😞

    https://codepen.io/nhoizey/pen/QWBrrKB

  2. I needed a JavaScript way to verify if two arrays contain the same (all different) values.

    I then found a better solution for my use case, but it might be useful later, so here it is:

    const sameValues = (array1, array2) =>
    array1.length === array2.length &&
    array1.every((element) => array2.includes(element));