演算子代入・比較・算術・ビット・論理・文字列演算子
代入演算子
エラー:501
unknown
左辺の変数に右辺の変数の値をそのまま、もしくは、左辺の変数に右辺の変数の値を演算し、左辺の変数に代入するのに使用します。
| 演算子 | 短縮表記 | 意味 |
|---|---|---|
| 代入演算子 | a=b | 左辺 a に右辺 b の値を代入。 a,b,c=0 とすると、a,b,cの値は全て0になる。 |
| 加算代入演算子 | a+=b | a=a+b 2つの数値a,bを加算または2つの文字列を連結した結果をaに代入。 |
| 減算代入演算子 | a-=b | a=a-b 数値aから数値bを減算した結果をaに代入。 |
| 乗算代入演算子 | a*=b | a=a*b 2つの数値を乗算した結果をaに代入。 |
| 除算代入演算子 | a/=b | a=a/b |
| 剰余代入演算子 | a%=b | a=a%b 2つの数値a,bで除算を行い、その剰余をaに代入。 |
| 左シフト演算子<<= | a<<=b | a=a<<b 2つの式a,bの各ビットを左にシフトした結果をaに代入。 |
| 符合なし右シフト代入演算子 | a>>=b | a=a>>b 2つの式a,bの各ビットを符合を維持して右にシフトした結果をaに代入。 |
| ビットごとのAND代入演算子 | a&=b | a=a&b 2つの式a,bをビットごとにAND演算した結果をaに代入。 |
| ビットごとのXOR代入演算子 | a^=b | a=a^b 2つの式a,bをビットごとに排他的OR演算した結果をaに代入。 |
| ビットごとのOR代入演算子 | a|b | a=a|b 2つの式a,bをビットごとにOR演算した結果をaに代入。 |
<script type="text/javascript">
a=2; b=10;
a=b;
document.write(a+"<br \/>"); /* 10 */
a=2; b=10;
a+=b;
document.write(a+"<br \/>"); /* 12 */
a=2; b=10;
a=a-=b;
document.write(a+"<br \/>"); /* -8 */
a=2; b=10;
a*=b;
document.write(a+"<br \/>"); /* 20 */
a=2; b=10;
a/=b;
document.write(a+"<br \/>"); /* 0.2 */
a=2; b=10;
a%=b;
document.write(a+"<br \/>"); /* 2 */
</script>
比較演算子
エラー:501
unknown
2つの値を比較します。 数値の場合は大小比較、文字列の場合は文字列が等しいかどうか、または値が真偽値(TRUE/FALSE)であるかを調べるのに使用します。 比較した結果は、真偽値(TRUE/FALSE)で返ります。
| 演算子 | 例 | 意味 |
|---|---|---|
| 値が等しい | a==b | a と b の値が等しい場合にTRUEを返す。 |
| 値も型も等しい | a===b | a と b の値も型も等しい場合にTRUEを返す。 |
| 値が等しい | a!=b | a と b の値が等しくない場合にTRUEを返す。 |
| 値も型も等しくない | a!==b | a と b の値も型も等しくない場合にTRUEを返す。 |
| より大きい | a>b | a が b より大きい場合にTRUEを返す。 |
| より小さい | a<b | a が b より小さい場合にTRUEを返す。 |
| 以上 | a>=b | a が b と等しいか、それ以上の場合にTRUEを返す。 |
| 以下 | a<=b | a は b と等しいか、それ以下の場合にTRUEを返す。 |
<script type="text/javascript">
a=2; b="2";
if(a==b) document.write("等しい<br \/>"); /* 等しい */
a=2; b="2";
if(a===b) document.write("等しい<br \/>");
a=2; b="2";
if(a!=b) document.write("等しくない<br \/>");
a=2; b="2";
if(a!==b) document.write("等しくない<br \/>"); /* 等しくない */
a=2; b=4;
if(a>b) document.write("a は b より大きい<br \/>"); /* は b より小さい */
a=2; b=4;
if(a<b) document.write("a は b より小さい<br \/>");
a=2; b=4;
if(a>=b) document.write("a は b と等しいか、それ以上<br \/>");
a=2; b=4;
if(a<=b) document.write("a は b と等しいか、それ以下<br \/>"); /* a は b と等しいか、それ以下 */
</script>
算術演算子
+、-、*、/、%、++、--
unknown
数値を四則演算したり、剰余を求めるのに使用します。
| 演算子 | 例 | 意味 | |
|---|---|---|---|
| 二 項 演 算 子 | 加算 | a+b | 数値aに数値bを加えた結果を返す。 |
| 減算 | a-b | 数値aから数値bを引いた結果を返す。 | |
| 乗算 | a*b | 数値a,bの積を返す。 | |
| 除算 | a/b | 数値aを数値bで割った結果を返す。 | |
| 単 項 演 算 子 | 剰余(除算の余り) | a%b | 2つの数値a,bで除算を行い、その余りを返す。 |
| インクリメント演算子 | a++, ++a | aに1を加える。前置演算子(++a)は、a に 1 を加えてから値を返す。後置演算子(a++)は、aに1を加える前にその値を返す。 | |
| デクリメント演算子 | a--, --a | aから1を引く。前置演算子(--a)は、aから1を引いてから値を返す。後置演算子(a--)は、aから1を引く前にその値を返す。 |
<script type="text/javascript">
a=2; b=3;
document.write((a+b)+"<br \/>"); /* 5 */
document.write((a-b)+"<br \/>"); /* -1 */
document.write((a*b)+"<br \/>"); /* 6 */
document.write((a/b)+"<br \/>"); /* 0.6666666666666666 */
document.write((a%b)+"<br \/>"); /* 2 */
a=2; b=a++; document.write(b+"<br \/>"); /* 2 */
a=2; b=++a; document.write(b+"<br \/>"); /* 3 */
a=2; b=a--; document.write(b+"<br \/>"); /* 2 */
a=2; b=--a; document.write(b+"<br \/>"); /* 1 */
</script>
ビット演算子
&、|、^、~、<<、>>、>>>
unknown
式の数値を32ビット整数として演算する場合に使用します。
| 演算子 | 例 | 意味 |
|---|---|---|
| 参照演算子 | a & b | 参照パラメータまたは出力パラメータを持つメソッドに、変数の値を渡す。 |
| ビットごとのOR演算子 | a | b | 2つの式a,bをビットごとにOR演算。 |
| ビットごとのXOR演算子 | a ^ b | 2つの式a,bをビットごとにXOR(排他的論理和)演算。 |
| ビットごとのNOT演算子 | a ~ b | 2つの式a,bで指定された値をビットごとにNOT演算。 |
| ビットごとの左シフト演算子 | a << b | 変数aの値を、bで指定されたビット数分だけ左へシフト。 |
| ビットごとの右シフト演算子 | a >> b | 変数aの値を、bで指定されたビット数分だけ右へシフト。符合は保持される。 |
| 符合なし右シフト演算子 | a>>>=b | a=a>>>b 2つの式a,bの各ビットを符合を保持せずに右シフト。 |
論理演算子
&&、||、!
unknown
左辺の変数または式と右辺の変数または式が、両方正しいか、どちらか一方が正しいか、両方正しくないかを調べるのに使用します。 if文などで、比較演算子と組合せて使用することが多いです。
| 演算子 | 例 | 意味 |
|---|---|---|
| 論理AND演算子 | a && b | 2つの式a,bの論理積を求める。式a,bが共に満たされる場合にTRUEを返し、そうでない場合にFALSEを返す。 |
| 論理OR演算子 | a || b | 2つの式a,bの論理和を求める。式a,bのどちらか一方が満たされる場合にTRUEを返し、そうでない場合にFALSEを返す。 |
| 論理NOT演算子 | !a | 値aの論理否定を求める。値aが満たされない場合にTRUEを返し、そうでない場合にFALSEを返す。 |
<script type="text/javascript">
var a="";
var b=0;
var c=false;
if(a=="" && b==0){
document.write("両方とも条件一致<br \/>");
}else{
document.write("両方またはどちらか一方が条件不一致<br \/>");
}
/* 実行結果 ⇒ 両方とも条件一致 */
if(a=="" || b==""){
document.write("どちらか一方が条件一致<br \/>");
}else{
document.write("両方とも条件不一致<br \/>");
}
/* 実行結果 ⇒ どちらか一方が条件一致 */
if(!c){
document.write("条件を満たしていません(true)");
}else{
document.write("条件を満たしています(false)");
}
/* 実行結果 ⇒ 条件を満たしていません(true) */
</script>
文字列演算子
+
unknown
文字列と数値の加算の場合、数値は数値文字列として扱われます。
| 演算子 | 例 | 意味 |
|---|---|---|
| 加算演算子 | str1 + str2 | 文字列str1に文字列str2を結合した文字列を返す。 |
<script type="text/javascript">
var str1="hello";
var str2="world";
document.write(str1+" "+str2); /* hello world */
</script>