It used to be possible to write Firefox extensions that used multi-threaded JS; however, like any other language, accessing the DOM was not threadsafe (so you can&#x27;t have a window be your global object, and therefore they needed to live in separate source files).  As JS lacked native support for threading, you also had to be very, very careful and often ended up with less obvious threading issues anyway.<p>In the last few years SpiderMonkey (Firefox&#x27;s JS engine) has dropped support for this more and more, and these days you can&#x27;t anymore.  But that&#x27;s a consequence of the engine implementation, and not the language.