JavaScript 一時的な変数のスコープをできるだけ狭くしたい時のテクニック

myFuncの中では引数に+1した値を条件や返り値に使っているので、plusOneを一時的に変数として割り当てています。

const myFunc = (num) => {
  const plusOne = num + 1
  if(plusOne > 10) {
    return 999
  }
  return plusOne
}

このままでも良いのですが、このplusOneという変数のスコープをできるだけ狭くしてみます。

const myFunc = (num) => {
  return (() => {
    const plusOne = num + 1
    if (plusOne > 10) {
      return 999
    }
    return plusOne
  })()
}

即時関数を使うことで、plusOne はその即時関数内でのみアクセス可能な変数になります。