無いようです

try catch使えー ということらしいです

まぁ、他の言語と違ってブラウザ上でのデザインとかがメインで、ずっと動いてるわけじゃなくて「イベント起きた時にちょっとした操作を行う」の繰り返しっていう使われ方な言語ですしねー
そんなに深い階層の関数まで実行されないからexitなくてもいいと思われてるのかな…
それ以外にもJavaScriptだと、関数渡していって内部で渡された関数を実行することが多いから関数を深く呼び出すことは他の言語より少なそう
exitしたかったらそこで関数を終えて、渡された関数を実行しなかったらそこで終わるっていうのが理想なのかもねー

Nodeとかサーバサイドにも使われてるローカルの実行環境もあるけど、そっちだとどうなんだろ(ほとんど使ってないので調べてない)


とりあえずtry catchで書くならこんな感じ?
try{
//* ここにコード書く *//
console.log(1);
func();
console.log(4);
function func(){
console.log(2);
exit(99);
console.log(3);
}
}catch(exitmsg){
console.log("EXIT:",exitmsg);
}
function exit(msg){
throw(msg);
}
実行すると
1
2
EXIT: 99
3と4が出る前にexitされてます

でもこの方法、普段からtry catchを使う人には向いてない気がします
「ここにコード書く」って書いてるところでtry catchを使うと、throw先がexitになりません

firefoxだとcatchする内容をifで書けますがchromeだとエラーになります
try{
//* ここにコード書く *//
console.log(1);
try{
exit(99)
}catch(e if(!(e instanceof exitException))){
console.log(e);
}
console.log(2);
}catch(exitmsg){
console.log("EXIT:",exitmsg);
}
function exit(msg){
throw(new exitException(msg));
}
function exitException(msg){
this.msg = msg;
}
1
EXIT: exitException {msg: 99}
書けたとしてもすべてのcatchのifにexitじゃなければ受け取るなんて書くのは面倒すぎます

一番最初にexitの例外を受け取ってそのままthrowして、残りをいつもどおりに書くとちょっと楽かもですが結局自分で書いたtryごとにcatch文を1つ多く書かないとダメなのでめんどうなのはいっしょです


最初に書いたように他言語よりあまりexitが必要になることがないので まぁいいかーなのですけど
実際自分では最近までexitないことすら知らなくてJavaScriptに触れたばかりの人が「exitってどうするの?」と言ってたのを聞いて調べてみたほどです