演算子の優先順位
算数の計算にも、足し算と引き算よりも掛け算と割り算が優先されるルールがあるように、javaScriptにも同じルールがあります。
5 + 6 * 7 と書けば 掛け算である「*」がまず処理されて
5 + 42 = 47 となります。
算数と同様に、計算の優先順位を変更したい場合は括弧「()」を使います。括弧で囲まれた部分が先に計算されます。
例えば、( 5 + 6 ) * 7 なら
11 * 7 = 77 となります。
実行結果はこちら
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<!doctype html> <html> <head> <meta charset="utf-8"> <title>計算の優先順位</title> </head> <body> <script> var num1,num2,num3; num1 = 5; num2 = 6; num3 = 7; document.write( num1 ,"+",num2,"*",num3," = ", num1 + num2 * num3,"<br>"); document.write( "(",num1 ,"+",num2,")","*",num3," = ", (num1 + num2) * num3,"<br>"); </script> </body> </html> |
優先順位
5つの演算子について書きましたが、演算子の優先順位は以下の通りです。
レベル1 | * / % |
レベル2 | + - |
同じ優先順位のものがあり場合は、式の左から順番に計算されます。
括弧で優先順位を変更する
優先順位を変えるには優先した式に括弧「()」で囲みます。括弧入れ子にしても大丈夫です。その場合は内側にある括弧が優先されます。
( ( 5 + 3 ) * 4 + 2 ) * 2
= ( 8 * 4 + 2 ) * 2
= (32 + 2 ) * 2
= 34 * 2 = 68 と計算されます。