dA-tools.com

HOME > AfterFx > JavaScript > 変数

変数:variable

変数とは値や文字を入れる箱

  • 計算結果を保存したり受け渡したりする時に利用します。
  • 変数に値を入れることを「代入」と呼びます。

変数を使うことをコンピュータに宣言

varBox.jpg

変数を使うにはコンピューターのメモリーに保存するための「箱」を用意しなければなりません。宣言とはその「箱」を設定し、名前を付けることです。

変数は「var+変数名」で次のように宣言します。

  • 例:変数 A を宣言

var A ;

複数の変数をまとめて宣言することも出来ます。

  • 例:変数 k,m,nの3つを宣言

  var k,m,n ;

「var 変数名 = 値」で同時に代入をすることも出来ます。

var AA = 120 ;
var x=3 ;

  • 値だけではなく式や文を代入することも可能です。

var j=1+3 ;
var name=’ 平面’ ;

  • このように左辺の「変数名」に右辺の「値」が代入され、これ以降「変数名」を使って値を取り扱うことが出来ます。また、後から「変数名」に値を設定し直すことで、値を自由に変えることが出来ます。

宣言を省略出来る

  • 「var」は省略することが出来ます。

 例:bookSize = this_layer.scale*25;
 例:AA =rotation + 120 ;

  • ただし関数中のローカル変数は必ず宣言する必要があります。

初期化。箱に値を入れる

宣言した変数に初期値を入れることです。

これをしないと変数には不定値が入ったままになり、計算結果は予期しないものになります。

var T;

  • 変数を宣言する時に入れる値が決定していない場合は数字か文字のデフォルト値を入れるといいでしょう。

var T=0;
var T="";

  • 上のTは数字が入り、下は空文字が入ります。
  • なお、Expressionでは宣言と初期化を同時に行うことが多いと思います。

変数のルール

変数の名前は自由に設定することが出来ます。

短くて分かりやすい簡潔な名前を付けるのがコツです。

 例:a_cell , endPosition , bookA

キーワードなどの予約語は使えません。
半角英数字のみ使用可(日本語は使用不可)

 例:アドビ、メカの回転、平面位置  
  などは不可です。

数字から始めることは出来きません。

 例:23base, これは使えません。

変数の型

型とはメモリーに確保する箱の種類のことです。

型の種類には、数値文字論理値配列(ベクトル)、オブジェクトがあります。

  • JavaScriptの変数はどの種類のデータ型でも格納できます。
  • 多くのプログラム言語では変数の型を宣言しますが、JavaScriptでは特に宣言する必要がありません。
  • 型は代入すると自動的に判断されるのであまり気を使わなくてもかまいません。
  • ある変数を使っていて、後からそれに違う型のデータを代入した場合、エラーにはならず後から代入した型になります。

変数の有効範囲

変数を使うことの出来る範囲をスコープと呼びます。

エクスプレッションで宣言した変数はそれが書かれているプロパティ内だけで参照できます。

例:
レイヤー1の「位置」プロパティに書かれたエクスプレッション内に変数 AA を宣言した場合、「回転」プロパティのエクスプレッションで 変数 AA を参照しようとしてもエラーになります。

外部参照するには「エクスプレッション制御」やNullなど外部のオブジェクトを使う必要があります。

注:プログラミング経験者へ

  • C,C++,Javaでは関数内の変数のスコープは基本的にそのブロックのみですが、varを使わずに利用した変数は同一プロパティ内であればブロック外からも参照できてしまいます。関数内と同じ名前の変数をその外部で使うと予期しない結果になることがあるので注意が必要です。
    • ex:ループカウンターのi,jなど。
  • 関数内のローカル変数は必ず宣言する必要があります。LinkIconスコープ
  • スタートアップ・スクリプトで変数を宣言すると、その後に実行するスクリプトでその変数を使うことが出来ます。