Panda Noir

JavaScript の限界を究めるブログでした。最近はいろんな分野を幅広めに書いてます。

memoized関数を??=で簡潔に書く

引数が1つもない関数のメモ化をするとき、??=を使うと簡潔に書くことができます。

let cache = null
const memoizedFun = () => {
  return cache ??= fun();
};

initializeSdk とかそういう全体で1回だけ呼び出せば良くて、初回呼び出しのPromiseを使い回したいときなどに使いやすいパターンです。

(前に同じ記事書いた気もする)