変数・演算子

Index Back Next

変数

  1. 【変数】

    プログラムの実行中に値が変化するものを変数といいます.変数とは値を格納しておく,入れ物のように考えていいと思います.

  2. 【型の宣言】

    JavaScriptにおける変数の型の宣言は,C言語のように明確な区別はなく,かなり曖昧なもので,
    	var a=3;
    	var B="Hello";
    
    というように整数型も文字列などもすべてvarでおこないます.また,
    	function abc(){
    		var a;
    		var b;
    
    などのように関数内に宣言すると変数a,bは関数abc()内だけで有効なローカルな変数となります.
    	var a;
    	var b;
    	function abc(){ 〜省略
    
    とすると全ての範囲において共通に使用できる,グローバルな変数といえるでしょう.また,
    	var a,b=3;
    
    といったようにカンマで区切ることによって,まとめて宣言することができ,b=3のように宣言時に初期値3を与えることもできます.データのサイズは全て8バイト(もしかしたら違うかも?).

演算子

  1. 【算術演算子】

    加減乗除を行うものを算術演算子といい,これはどの言語にもある標準的な演算子です.

    表 算術演算子
    演算子はたらき優先順位
    -負符号1
    *乗算2
    /除算2
    %余り2
    +加算3
    -減算3

    [例] c = 13 * a + b % 3

  2. 【関係演算子】

    関係演算子,if文などで条件判断をするためのものです.

    表 関係算子
    演算子はたらき優先順位
    >大きい1
    >=大きいまたは等しい1
    <小さい1
    <=小さいまたは等しい1
    ==等しい2
    !=異なる2

    [例] if( a>b ) a=0; もしaがbより大きいなら,aに0を代入します.

  3. 【論理演算子】

    論理演算子は,複数の条件判断を組み合わせるときに使用します.

    演算子はたらき優先順位
    !NOT1
    &&AND2
    ||OR3

    [例] if( a>=b && c!=100 ) a=0; もしaがb以上,かつcが100でないならばaに0を代入.

  4. 【インクリメントとディクリメント演算子】

    インクリメント演算子が++,ディクリメント演算子が--です.これらは,

    	i++;
    	i--;
    
    と使用し,それぞれ
    	i=i+1;
    	i=i-1;
    
    と働きが同じで,1を加算したり,減算したりする演算子です.

  5. 【ビット演算子】

    ビット演算子は,数値を2進数で表した"1"または"0"の各ビットごとの演算のことを言います.16進数の0xf0f0(JavaScriptでは16進数ということが分かるように,16進数値の前に0xをつけます.)を2進数で表現すると1111000011110000となります.これらの各桁の操作することをビット演算といいます.ビット演算子には~,&,|,^があり,これらはそれぞれ否定,論理積,論理和,排他的論理和のことです.これらの真理値表を以下に示します.

    否定(NOT)
    aa~
    10
    01
    論理積(AND)
    aba&b
    000
    010
    100
    111
    論理和(OR)
    aba&b
    000
    011
    101
    111
    排他的論理和(XOR)
    aba&b
    000
    011
    101
    110

    [例] 論理積 a&b a=0xff1a,b=0x7fff

    a	1111111100011010	//0xff1a 
    b	0111111111111111	//0x7fff
    a&b	0111111100011010	
    
  6. 【シフト演算子】

    左シフト a << bでaの各ビットをbビット左へシフトします.あいた右のbビットには0が入ります.
    右シフト a >> bでaの各ビットをbビット右へシフトします.あいた左のbビットには1が入ります.C言語の場合,変数が符号なしの場合に0が入り,符号ありの場合に符号桁が入っていたが,JavaSciptの場合,変数に型がないので常に1が入っているみたいです.

    [例] 左シフト a << 3     a = 0xff1a

    a		1111111100011010		//0xff1a
    a<<3 		1111100011010000
    
  7. 【代入演算子】

    代入演算子とは = のように右辺の値を左辺の変数に,代入するといったもので=以外にもJavaSciptにはいくつかあります.例えばa = a + 3 といった式は,a += 3 と書くことも可能です. += も代入演算子です.他に,

    	+=,-=,*=,/=,%=,<<=,>>=,&=,|=,^=
    

    などがあります.

  8. 【条件演算子】

    条件演算子には?と:があり,使い方は

    	c = ( a < 0 ) ? b: -b;
    

    これは,もしaが0より小ならc = b,そうでないならc = -bとなります.


1998(C) Motonari Morikawa