JavaScriptという名前/文字を見たことがある人も多いのではないでしょうか。特にWeb関係を手がけている人は聞いたことがあるでしょう。Webページを制御するのに利用されている言語がJavaScriptです。ボタン上にマウスを乗せると色が変わったり、へこんだりする処理もJavaScriptによるものです。現在ではGoogle Mapsなどに代表されるリッチなコンテンツを実現する必須言語になっています。また、サーバーサイドでもNode.jsとしてJavaScriptで書かれたサーバーが利用されるようになっています。Node.jsとPhotoshopを組み合わせて稼働させることもできます。(下記URLのページを参照)
JavaScriptは元々はWebサーバーで利用されているCGI/SSIの代用として考案されました。JavaScriptが多く利用されるようになると言語仕様がブラウザによって異なるのはよくないという事でJavaScriptの標準化が行われました。これがECMA Scriptと呼ばれるものです。ECMA ScriptはOSやハードウェアなどに依存しない基本的なオブジェクトのみ定義されています。現在使われているJavaScriptはECMA Scriptと各社独自の機能(オブジェクト)を組み合わせたものと言えます。
JavaScriptには、いくつかバージョンがあります。AfterEffectsではECMA-262 Script 3rd Editionを基準にしています(なお、constなど一部ECMAScript 5thで使える命令もあります。)。これはJavaScript 1.3と同じバージョンになります。AfterEffectsの場合、「AfterEffectsのJavaScript = ECMA Script + AfterEffects独自拡張」ということになっています。独自拡張と言うと語弊があるかもしれませんが、JavaScriptではアプリケーションに合わせて独自にオブジェクトを用意するのが一般的です。つまりAfterEffectsで動くJavaScriptはAfterEffects専用のオブジェクトが用意されているわけです。
JavaScriptはオブジェクト指向言語ですが、Javaなど一般的なクラスベースの言語と異なりプロトタイプベースのオブジェクト指向言語です。これはクラスを作成して、そこから派生させるのではなく、すでにあるオブジェクトをベースにして拡張していく、というものです。もちろん独自にオブジェクトを作成すれば、それはクラスとほぼ同等になります。
もっとも、AfterEffectsではそこまでは要求されることはありませんし、無理に複雑なことをしなくても手軽に自動化できるようになっています。他のAdobeソフトと比べると、書き方が若干癖があり冗長な感じがありますが、すでにプログラムを組んだことがあるのであれば、その癖を覚えるだけで十分かもしれません。
目次へ戻る