Re: Why does a scripting language need threading?
To keep the UI responsive while performing computationally intensive tasks in the background.
Since Javascript1 is a dynamic OO language, that's easily done with dynamic encapsulation and timer callbacks. Of course, "easily" doesn't mean "obviously", particularly for people who grew up with preemptive multithreading and never learned anything else.
But threading is certainly not necessary.
1"ECMAScript" is technically correct - Javascript is merely an ECMAScript implementation, currently owned by Mozilla - but clearly that battle was lost before it began.