#acl All: == ECMAscriptの特徴と学習上の注意 == Cを学習済みの人のために、Cとの違いに注目しながら ECMAscriptの概要と注意を述べます。 ---- === インタプリタ === Cはコンパイラでした。 ECMAscriptはインタプリタです。 速度の点では コンパイラの方が速く、インタプリタは遅いと習ったかもしれません。 確かにそのとおりですが、どの程度の差があるのか 考えたり、実際に測定したことがありますか? どれだけの速度が要求されるのかは 利用する場面によって異なります。 インタプリタを利用する上で一番気をつけなければならないのは コンパイラの場合とは デバッグの方法が異なることです。 動作のしかたがコンパイラとインタプリタでまったく違います。 コンパイラと同じに考えていると、 プログラムの誤りが発見できないかもしれません。 === オブジェクト指向 === ECMAscriptはオブジェクト指向言語です。 ところが、クラスはありません。 オブジェクトはあります。 Javaなどを学習した人にとっては、ちょっと変に感じるかもしれません。 === いつ、どこで実行されるのか === Cのように端末内で実行されるものは分かり易い。 ブラウザ上で実行される場合を考えると、 いつ動作するのでしょうか? === 入力はどこから === ブラウザ上で実行される場合は どこかのオブジェクトからデータを得ることが多い。 === 出力はどこへ === ブラウザ上で実行される場合は どこかのオブジェクトの属性を修正したり、 オブジェクトを作成したりすることになります。 ---- === rhinoについて === rhinoはJavaで記述されたECMAscript処理系です。 しばらくの間はrhinoを用いてECMAscriptの基本的な部分を学習します。 会話型で使うことができます。 {{{ $ rhino Rhino 1.7 release 3 2012 02 16 js> }}} rhino独自の命令には次の3つがあります。 ==== quit() ==== rhinoを終了します。 {{{ quit(); }}} ==== print() ==== 引数の値を表示します。 {{{ print(3); print(kotae); print("x=", x); }}} ==== load() ==== 指定されたファイルからプログラムを読み込みます。 {{{ load("pro1.js"); }}}