吉里吉里/tjs2解説

優先順位


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

演算子には優先順位というものがあります
KAGで
[eval exp = "f.a = 1 + 4 * 5"]
とするとf.aには21が代入される、というのは分かるはずです
つまり、 + よりも * の方が先に計算されています
この計算される順番が優先順位です
優先順位の高い演算子が低いものより先に計算されます
また、同じ優先順位の演算子は左から順に計算されていきます
この優先順位を変えるには()を使うというのはKAGでやったと思います
[eval exp = "f.a = (1 + 4) * 5"]
こうすればf.aには25が代入されます

ちなみに、 = は + や * よりも優先順位が低いというのは分かるでしょうか?
そうしないとf.aには1が代入されて困った事になります

では優先順位を以下に示します
  1. () [] . 後置++ 後置-- 後置! incontextof int real string
  2. 前置! ~ 前置++ 前置-- new invalidate isvalid delete typeof # $ 単項+ 単項- 単項* instanceof
  3. % / \ *
  4. + -
  5. >> << >>>
  6. < > <= >=
  7. == != === !==
  8. &
  9. ^
  10. |
  11. &
  12. &&
  13. ||
  14. ? :
  15. = <-> &= |= ^= -= += %= /= \= *= &&= ||= >>= <<= >>>=
  16. ,
  17. if
半角スペースで区切られたそれぞれが演算子です
上に行くほど(数字が小さいほど)優先順位は高くなります
同じ数字の演算子同士は優先順位が同じです
とりあえず覚える必要は無いと思います。分からなかったらとりあえず()を付けておけば確実です

では次回からそれぞれの演算子の説明をしていきます

更新履歴

取得中です。