SpiderMonkeyは、ソースを持ってきてコンパイルすると、スタンドアロンで利用することができます。Windows環境にはJavaScriptによく似てWindowsでのいろんな操作に使えるJScriptというものがあるので、それほど必要なものというのではないんだけれど、やっぱり由緒正しいJavaScriptに触れてみたいという気持ちは抑えがたい。
ただ、この単体のSpiderMonkeyではまだ日本語がうまく使えなかった(Windowsでしか使っていないので他のプラットフォームでの事情はわからないが)。以前使っていたときもそのことが気に入らなくて、日本語が使えるようにちょっと修正したものを作って試していました。今回、Mercurialでダウンロードしたら、プレリリースのSpiderMonkeyバージョン1.8が使えたので、それに以前の修正を適応し、さらに-f、 -eオプションも使えるようにしてみました。
本来、JavaScriptでは変数名に日本語が使えます。JavaScriptを紹介しているサイトには、いまだに識別子の構成文字は半角英数のみと古い仕様のまま紹介してあるものもありますが、JavaScriptの標準仕様であるECMAScript3の仕様において、ちゃんとUnicode文字列が使用できることは明記してあります。簡単な漢字変数のスクリプトを含んだHTMLを書いてFirefoxで開くと、確かに使えるのが分かります。ただ使えることは使えますがあまりおすすめはしません。やたらWebページでの記述には使うべきではないでしょう。しかし、本来できるべきものができないというのがちょっと不満でしたので、できるようにしてみました。
全角文字を使うとき気をつけることは、Unicode文字はそれぞれ用途によって分類がされていることです。例えば全角の数字(1,2,3,4,5)はそれ自体数値として使えませんが分類上は数値を表す文字とされています。JavaScriptではUnicode文字の分類を区別するので、半角数字と同じように全角数字は名前(識別子)の先頭文字として利用できません(二文字目からは使える)。また+×☆※などなどの全角記号は識別子に利用することはできません。漢数字は問題はないみたい。
まだ開発中のベータ版ですので、いろいろ問題があるかもしれません。
■ ダウンロード
自己責任でご利用ください。
smjp001.zip
■ 配布ページ
http://et-dev.main.jp/index.php?SpiderMonkey
メッセージも日本語にしてみましたが、標準的な用語になっているか確認して訳していません。
例文
js>あ行=["あ","い","う","え","お"].reduce(function(a,b)a+b);問題がありましたら、コメントください。
あいうえお
js>print(\u3042行); // \u3042:’あ'のユニコードエスケープシーケンス表記
あいうえお
js>print(あ行.length);
5
Blogged with the Flock Browser
ダウンロードが終わったならば、ファイルが保存されている場所を開きます。Lhaplusなどの解凍ソフトはインストール済みでしょうか。解凍ソフトがインストールされていれば、smjp001.zipをダブルクリックして解凍します。解凍ソフトの設定にもよりますが、Lhaplusだと自動的にフォルダが開きます。その解凍されたフォルダの中にある js.exe をダブルクリックすれば、js>と文字が書かれたDOS窓と呼ばれる黒い画面が出てくるはずです。そこにjavascriptの構文を打ち込めば、対話形式でプロクラムを試すことができます。
分からないことがあったら、また書き込んでください。
ちなみにjavascriptはいろいろな使われ方がされているのですが、山中さんは何をされるのでしょうか?