カテゴリー
オライリーJavaScript

delete演算子

オペランドに指定されたオブジェクトプロパティや配列要素を削除する。
in演算子と組み合わせる。

カテゴリー
オライリーJavaScript

typeof演算子

オペランドのデータ型を示す文字列を返す。
typeof演算子はswitch文と組み合わせて使うと便利。
nullの場合、Objectを返すので注意

カテゴリー
オライリーJavaScript

条件演算子 ?: (三項演算子)

先頭のオペランドの後ろに?を置き、その後ろに2番目のオペランド、その後ろに:を置いて、
最後に3番目のオペランドを記述する

x > 0 ? x : -x    //xの絶対値

典型的な例は変数が定義されているかどうかをチェックし、
定義されていればその値を使用し、定義されていなければデフォルト値を使用する。

gretting = "hello" + (username ? username : "there")

if文でも可能

カテゴリー
オライリーJavaScript

代入演算子 =

代入演算子の優先順位は非常に低いので、大きな式の中で使う場合は括弧を記述する

i = j = k = 0;

カテゴリー
オライリーJavaScript

関係演算子

等値演算子と不等演算子
等値演算子 ==
同値演算子 ===

比較演算子
<,>,<=,>=

in演算子
in演算子は左側の値が右側のオブジェクトのプロパティ名であればtrueを返す。

instanceof演算子
instanceof演算子は、左側のオブジェクトが右側のクラスのインスタンスであればtrueを返す。
すべてのオブジェクトはObjectのインスタンスになる。
instanceofで、あるオブジェクトがあるクラスのインスタンスかどうかを判定するときには、
スーパークラスについても確認する。

カテゴリー
オライリーJavaScript

単項算術演算子

var i = 1, j = ++i;  //iもjも2
var i = 1, j = i++; //iは2だが、jは1

カテゴリー
オライリーJavaScript

+演算子

数値オペランドなら加算
文字列オペランドなら連結
オペランドの一方が文字列の場合は、もう一方は文字列に変換され、連結処理が行われる。

カテゴリー
オライリーJavaScript

算術演算子

除算演算子/
整数を整数で割った時でも、商は浮動小数点になる

5/2 → 2.5

0で除算した場合もエラーにならない。
正または負の無限大になる。
0/0はNaNになる。

剰余演算子%
剰余演算子は整数値に対して使われるのが一般的だが、浮動小数点に対しても問題なく動作する。

6.5 % 2.1 → 0.2

カテゴリー
オライリーJavaScript

演算子の優先順位

プロパティアクセス式と呼び出し式は、すべての演算子よりも優先順位が高い
演算子の優先順位がよくわからない場合は、括弧を使用して明示的に評価順序を指定する。

とりあえず、
まず、乗算と除算が行われ、次に加算と減算が行われ、最後に代入処理が行われる。

カテゴリー
オライリーJavaScript

オブジェクト生成式

newキーワード
new Object()
new Point(2,3)

オブジェクト生成式中のコンストラクタ関数に引数を渡さない場合は丸括弧を省略できる。
コンストラクタ用の関数は、値を返してはいけない。