Win版インタラクティブJavaScript

SpiderMonkey で JavaScript のインタラクティブシェル - bkブログ」のWin版です。
以下の内容で「ijs.js」というファイルを作成。

function print(s) {
  WScript.StdOut.Write(s);
}

(function () {
  for(;;) {
    print("js> ");
    var l = WScript.StdIn.ReadLine();
    if (l == "!") {
      var a = [];
      while((l = WScript.StdIn.ReadLine()) != "!") {
        a.push(l);
      }
      l = a.join("\n");
    }
    try {
      var v = eval(l);
      print(v);
      print("\n");
    } catch(e) {
      print("Exception: ");
      print((e instanceof Error) ? e.message : e);
      print("\n");
    }
  }
})()

でもって、コマンドラインから実行。(終了は Ctrl+C)

C:\>cscript ijs.js
js> a = [1,2,3]
1,2,3
js> a.push(4)
4
js> a.unshift(0)

js> a
0,1,2,3,4
js> a.concat([5,6,7])
0,1,2,3,4,5,6,7
js> a
0,1,2,3,4
js> a = a.concat([5,6,7])
0,1,2,3,4,5,6,7
js> a
0,1,2,3,4,5,6,7
js> ^C

C:\>

毎回、cscript と入力するのが面倒であれば、一度コマンドラインで「cscript //h:cscript」とやっておけば、以後、「ijs」とタイプするだけで実行できるようになります。

追記

せっかくTB送ったのに、日記がプライベートモードのままでした…… orz

追記2

拡張してみました。
InteractiveJS その2 - nak2kのメモ帳