すぐに動かせるJavaScript入門

JavaScriptインタプリタが評価いて値を生成できるものを式と呼びます。リテラルや変数名なども式になります。リテラル式の値はリテラルが表す値と同じものになり、変数式の値はその変数に格納されている値またはその変数によって参照された値になります。

様々な式

10 //数値リテラル 'hello world' //文字列リテラル true //論理値リテラル /cgi/bin //正規表現リテラル null //null値を示すリテラル { x:1,y:2 } //オブジェクトリテラル { 1,2,3,4,5 } //配列リテラル i //変数i function(x){return 2*x;} //関数リテラル

算術演算子

演算子を用いて式を組み合わせると複雑な式を作ることができます。

算術演算子

i + 1.5 //足し算 i - 1.5 //引き算 i * 2 //掛け算 i / 2 //割り算 i % 3 //剰余。iを3で割ったあまり -5 //負の数。単項演算子 --i //前置デクリメント i-- //後置デクリメント ++i //前置インクリメント i++ //後置インクリメント (i+1.5)-(sum/2) //より複雑な式

ここで出てきた+や-を演算子と呼びます。演算子の操作対象となる式をオペランド(被演算子)と呼び、演算子はオペランドの数で3種類に大別できます。上で出てきた+や-はオペランドを2つとり、二項演算子と呼ばれています。また単項のマイナスはオペランドを1つだけとるため単項演算子と呼びます。最後の1種類は三項演算子で、条件演算子(?:)だけがJavaScriptで使用できる三項演算子です。これは後ほど紹介します。

比較演算子

値の大小関係を論理値として返す演算子です。のちに紹介するif文の条件式などによく使われます。==と===、!=と!==については型変換の項も参照してください

比較演算子

a == 5 //aが5と等しければtrue a != 5 //aが5と異なっていればtrue a > 5 //aが5より大きければtrue a < 5 //aが5より小さければtrue a >= 5 //aが5以上ならtrue a <= 5 //aが5以下ならtrue a === 5 //aが5と等しければtrue。型変換を行わない a !== 5 //aが5と異なって入ればtrue。型変換を行わない

論理演算子

論理値を返す演算子です。

論理演算子

!a //aがfalseのときにtrueを返しaがtrueの時falseを返す a && b //a,bともにtrueの時trueを返し、それ以外はfalseを返す a || b //a,bいずれかがtrueの時trueを返し、それ以外はfalseを返す

ビット演算子

ビット単位での処理を行う演算子です。算術シフトとは符号を考慮したシフトで論理シフトは符号を考慮しないシフトです

ビット演算子

a & b //aとbのAND a | b //aとbのOR a ^ b //aとbのXOR ~a //aの否定(全ビット反転) a << 1 //左シフト a >> 1 //右シフト(算術シフト) a >>> 1 //右シフト(論理シフト) -10 >> 1 //結果は-5 -10 >>> 1 //結果は2147483643

代入演算子

変数に値を代入する際に用いる演算子です

代入演算子

a = 5 //aに5を代入 a += 5 //aにa+5を代入 a -= 5 //aにa-5を代入 a *= 5 //aにa*5を代入 a /= 5 //aにa/5を代入 a %= 5 //aにa%5を代入 a >>= 1 //aにa>>1を代入 a >>>= 1 //aにa>>>1を代入 a &= 10 //aにa AND 10を代入 a |= 10 //aにa OR 10を代入 a ^= 10 //aにa XOR 10を代入

文字列結合演算子

文字列を結合する演算子です

文字列結合演算子

a = 'hello'; b = 'world'; c = a + b; //文字列結合演算子(cはhelloworld)

条件演算子

条件の論理値によって評価する箇所を変えることが可能な演算子です。

条件式?条件式がtrueの場合に評価:条件式がfalseの場合に評価という動作をします。これを利用すると後ほど紹介するif文と同様の処理が可能です

出力:
エラー:

since 2013