From what I can gather
- JS is system agnostic, doesn’t require compilation or multiple dependency binaries, as opposed to say Python.
- JS is widely understood, could get more contributors.
- JS is a good enough scripting language made with UI stuff in mind.
I also see people lamenting that lua wasn’t chosen, so there’s that.
While it’s true that both python and js are interpreted languages, making them highly portable, JS at that time was a very lightweight language with a robust runtime offered by mozjs, that was built to be easy to embed into other systems, while python was designed for being the framework in which you build apps directly, hence requiring deeper dependencies.
Sources:
https://blog.fishsoup.net/2008/10/22/implementing-the-next-gnome-shell/#comment-1691
https://blogs.gnome.org/alexl/2008/09/09/embeddable-languages-an-implementation/
https://www.reddit.com/r/gnome/comments/120edc0/comment/jdgwyoq/