Could be to allow use of local variables that do not leak into the scope this code is executed in. That's what I use this pattern for.
pro tip: no longer necessary
{ let count = 50; const interval = setInterval(() => { addSnakeNode(); if (--count <= 0) clearInterval(interval); }, 100) }
pro tip: no longer necessary