JS runtimes are probably the most advanced, powerful and optimized for any dynamically processed language. The amount of things that both can and are done with JS today is really impressive. Some might say horrible, how dare people do productive things in JS...
It's also that computing capability is that much more powerful today than it was in the 80's and 90's. I mean, up until 2002 or so, processing power close to doubled every other year, and since 2002 it slowed down a bit, but still went from 64mb ram in my computer around 1998 to 64gb in my computer from 6 years ago. Processing capability has gone up just as much. Of course a lot of it went into parallization this past decade and a half, since squeezing more out of each node/generation has been decreasingly fruitful.