リスを倒す 『初めてのPHP,MySQL,JavaScript&CSS』

『初めてのPHP,MySQL,JavaScript&CSS』勉強奮闘記

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>

このコードからは次の結果が出力されます。
f:id:taro-blog2323:20161120132246p:plain

1-2. リテラルと変数


リテラルは、数値の22やストリングの"Press Enter"など、それ自体が評価の結果になるものを言います。
式はまた、評価の結果大遊された値になる変数の場合もあります。

リテラルの5つのタイプ


<script>
myname = "Peter"
myage = 24
document.write("a: " + 42 + "
") // 数値リテラル
document.write("b: " + "Hi" + "
") // ストリングリテラル
document.write("c: " + true + "
") // 定数リテラル
document.write("d: " + myname + "
") // ストリング変数のリテラル
document.write("e: " + myage + "
") // 数値変数のリテラルl
</script>

結果はこちら。
f:id:taro-blog2323:20161120221733p:plain

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 新しいオブジェクトの作成
++ -- インクリメント、デクリメント
+ - ~ ! 単項、ビット
? : 条件
= += -= *= /= %= <<= >>= >>>= &= ^= |= 代入


次回は関係演算子ステートメントをやります。

いじょー