14-1. Javascriptの式と制御フロー①式と演算子
14章は、Javascriptの複雑な式を組み立てる方法と、プログラムの流れを条件ステートメントを使って制御する方法を見ていきます。
1-1. Javascriptの式
Javascriptの式はPHPと似ています。値や変数、演算子、関数の組み合わせで値を返します。
その結果は数値だったり、ストリング値やBoolean値(true、false)の場合もあります。
以下が簡単な例です。
<script>
document.write("a: " + (42 > 3) + "
")
document.write("b: " + (91 < 4) + "
")
document.write("c: " + (8 == 2) + "
")
document.write("d: " + (4 < 17) + "
")
</script>
このコードからは次の結果が出力されます。
1-2. リテラルと変数
リテラルは、数値の22やストリングの"Press Enter"など、それ自体が評価の結果になるものを言います。
式はまた、評価の結果大遊された値になる変数の場合もあります。
◎リテラルの5つのタイプ
結果はこちら。
1-3. 演算子
Javascriptでは算術やストリング、論理演算子から代入、比較などに使用する演算子まで数多く提供されています。
◎Javascriptの演算子の種類
演算子 | 用途 | 例 |
---|---|---|
算術 | 基本的な算術 | a+b |
配列 | 配列操作 | a+b |
代入 | 値の代入 | a=b+23 |
ビット | バイト内のビット操作 | 12^9 |
比較 | 2つの値の比較 | a |
インクリメント/デクリメント | 1つだけ加算または演算 | a++ |
論理 | Boolean比較 | a && b |
ストリング | 結合 | a+'string' |
演算子はタイプによってそれがとるオペランド(演算の対象となる値や変数)の数が異なります。
・インクイメントや否定などの単項演算子はオペランドを1つとる
・多くのJava演算で使われる二項演算子(加算、減算、乗算、除算など)はオペランドを2つとる
・x?y:zという形式の三項演算子は1行の簡潔なifステートメントのようなもので2つの式のどちらかの3つめの式の結果によって選択する
1-4. 演算子の優先順位
PHPと同様、javascriptにも演算子の優先順位があります。
◎優先順位(高い順)
演算子 | タイプ |
---|---|
()[]. | かっこ、呼び出し、メンバー |
++ -- | インクリメント、デクリメント |
+ - = ! | 単項、ビット、論理 |
/ % | 算術 |
+ - | 算術、ストリング |
<< >> >>> | ビット |
< > <= >= | 比較 |
== != === !== | 比較 |
& ^ | | ビット |
&& | 論理 |
|| | 論理 |
?: | 三項 |
= += -= *= /= %= <<= >>= >>>= &= ^= |= | 代入 |
' | 順次 |
1-5. 結合性
ほとんどのjavascript演算子は左から右の順番で知りされますが、なかには右から左に進む処理を必要とするものもあります。
◎右から左への結合性を持つ演算子
演算子 | 説明 |
---|---|
new | 新しいオブジェクトの作成 |
++ -- | インクリメント、デクリメント |
+ - ~ ! | 単項、ビット |
? : | 条件 |
= += -= *= /= %= <<= >>= >>>= &= ^= |= | 代入 |
いじょー