- 2008-10-19 (日) 18:21
- JavaScript
引き続きサイ本のまとめ。5 章の前半は基礎的なものなので斜め読み。
5 章 式と演算子
5.5.1 比較演算子
- 比較は数値と文字列のどちらかで行われる。数値でも文字列でもないものはそのどちらかに変換される。
- 文字列の比較は Unicode の文字コード値を使って、アルファベット順で比較される。
5.5.2 in 演算子
- 左側の値が右側のオブジェクトのプロパティ名であれば true を返す。
- なお、左側の値は文字列か文字列に変換されるものでなければならないので注意。
var o = { x : 1, y : 1 };
alert("x" in o); // true
alert(x in o); // false
alert("z" in o); // false
5.5.3 instanceof 演算子
- 左側のオブジェクトが右側のクラスのインスタンスであれば true を返す。
var d = new Date(); alert(d instanceof Date); // true(Safari では false。なぜ?)
5.7.1 論理積演算子(&&)
- 左側のオペランドと右側のオペランドの両方が true の場合に true を返す。
- ただし内部的には、まず左側のオペランドを評価して false に変換できる場合は左側の式の評価結果を返し、それ以外の場合は右側のオペランドの評価結果を返す。
- よって、右側の式は必ず評価されるわけではないので、代入やインクリメンタルを右側のオペランドで使うと意図しない動作になることがある。
var a = 0, b = 1;
(a == b) && alert("equal"); // alert は表示されず、false が返される
(a != b) && alert("not equal"); // alert が表示される
5.7.2 論理和演算子(||)
- 左側のオペランドと右側のオペランドのどちらか一方または両方が true の場合に true を返す。
- 内部的には論理積演算子と同じような振る舞いをする。
5.10.3 オブジェクト生成演算子(new)
- まず、プロパティを定義せずに新しいオブジェクトを生成する。
- 次に、指定されたコンストラクタ関数を呼び出し、指定された引数を渡す。
- 新たに生成されたオブジェクトを this キーワードの値に代入する。
5.10.4 delete 演算子
- オペランドに指定されたオブジェクトのプロパティや配列の要素、変数を削除する。
- コアに組み込まれたプロパティやクライアントサイドのプロパティの一部には削除できないものがある。
- var 文で宣言された変数は削除できない。
- プロパティや変数、配列の要素を削除した場合、未定義値が代入されるわけではなくプロパティは存在しなくなる。
5.10.5 void 演算子
- オペランド値を破棄し未定義値を返す。
関連する記事
- Newer: JavaScript 第 5 版 6 章まとめ
- Older: JavaScript 第 5 版 4 章まとめ
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://www.sukechan.net/archives/105/trackback/
- Listed below are links to weblogs that reference
- JavaScript 第 5 版 5 章まとめ from sukechan.net

