— It is very much *not* domain specific in functionality, of course
It is very much possible to create custom APIs for other languages. People were happy with JS in the browser, so that's why its there.
— I'd say it's as domain specific as paper is to a pencil
— You can use the pencil on things other than paper, and use things other than pencils on the paper, however if that's all you've got to work with then the pencil is a domain-specific relative to the paper, being the only entry point to work with the paper