jsc
Mac限定ですが、Macにはjsc
というコマンドが入っています。
/System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources/jsc
ここへはパスが通ってないので、以下の様な
設定を.bashrcを書いておくとjsc
コマンドが使えるようになります。
if [[ "$OSTYPE" =~ darwin ]];then
jscpath="/System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources"
if [ -f $jscpath/jsc ];then
export PATH=$PATH:$jscpath
fi
fi
対話インタプリタ:
$ jsc
>>> print('Hello World!');
Hello World!
undefined
>>> // C-d to exit
$
Shebangとして使用:
1 2 |
|
みたいなファイルを用意して
$ chmod 755 hello.js
$ ./hello.js
Hello World!
コマンドにファイルを渡して実行:
$ jsc hello.js
Hello World!
ただし、この場合は上のhello.jsのShebang部分が無くてもOK。
SpiderMonkey
SpiderMonkey MDN: https://developer.mozilla.org/ja/docs/SpiderMonkey
C言語で実装されたJavaScriptエンジン。 Mozilla Fundationでメンテされてます。
MacではHomebrewで
$ brew install spidermonkey
Linuxとかでは
$ sudo apt-get source libmozjs-dev
等、libmozjs-devというパッケージになっているので注意。 (昔はspidermonkey-binというのがあったらしい。)
これをインストールするとjs
というコマンドが使えるようになります。
簡単な使い方は上のjsc
と同じ。
Rhino
Rhino - Mozilla MDN: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino
こちらもMozilla Fundation管理のソフト。 こちらはJavaで実装されています。
MacではHomebrewで
$ brew install rhino
Linuxとかでは
$ sudo apt-get rhino
これでrhino
というコマンドが使えるようになります。
(何故か今Homebrewでインストールしようとするとダウンロードに失敗して 上手く行きません。該当するURLをwgetとかすると普通に取れるので、 何かHomebrewの中で上手く行ってないみたいなんですが。。。)
これも簡単な使い方は上のjsc
と同じ。
Node.js
サーバーサイドでJavaScriptで色々しようとする時に使う JavaScript環境。
インストールはMacでは
$ brew install node
Linuxとかでは
$ sudo apg-get node npm
等で。(npmはモジュール管理ツール。Homebrewではデフォルトでnodeをインストールする際 自動で一緒にインストールされます。)
インストールするとnode
というコマンドが使えるようになります。
node
も
対話インタプリタやShebangにしたりして使えますが、
使えるものが少し違います。
print
は使えず、
console.log('Hello World');
なconsole
オブジェクトをブラウザみたいに使ったりします。
var sys = require('sys');
sys.print('Hello World');
みたいにsys
のprint
を使う事も出来ます。
出力コマンド切り替え
下みたいにすると、色々な環境の出力コマンドを切り替えることが出来ます。
1 2 3 4 5 6 7 |
|
まとめ
それぞれ色々使い道によって必要な物が変わると思いますが、
取り敢えずMacならjsc
が最初から入ってるのでぱっと使うには楽です。
後はnode
が入ってればそれでもいいし、
無ければ適当に好きなモノを入れて、と言う感じで。
本格的に使うときは必要な物を。