JavaScript 第5版 - 5章 式と演算子(2)

JavaScript 第5版、「5章 式と演算子」の「5.6 文字列演算子」~「5.10 そのほかの演算子」(69~80ページ)を読み進めていきます。

5.6 ビット演算子

  • ビット演算子では、数値は標準の浮動小数点形式から32ビットの整数形式に変換される。
  • オペランドが整数でない場合は小数点部分が削除され、32ビットの整数表現で表せない数は33ビット目から捨てられる。

5.10 そのほかの演算子

5.10.2 typeof演算子

  • typeof演算子はオペランドのデータ型を示す文字列を返す。
  • typeof(value)のようにオペランドを括弧で囲んで指定することができる。
  • オブジェクトがどのオブジェクト型なのかを調べるにはinstanceof演算子やconstructorプロパティを使う。 

5.10.3 オブジェクト生成演算子(new)

  • new演算子は次のように働く。
    1. プロパティを定義せずに新しいオブジェクトを生成する。
    2. 指定されたコンストラクタ関数を呼び出し、指定された引数を渡し、新しく生成されたオブジェクトをthisキーワードの値に代入して渡す。

5.10.4 delete演算子

  • delete演算子は、オペランドに指定されたオブジェクトプロパティや配列要素、変数を削除する。
  • 削除に成功した場合はtrue、失敗した場合はfalseを返す。
  • コアに組み込まれたプロパティやクライアントサイドのプロパティ、var文で宣言された変数は削除できない。
  • 存在しないプロパティを指定した場合や、オペランドがプロパティや配列要素、変数でない場合もtrueを返す。
  • プロパティが削除された場合、未定義値が代入されるだけではなく、プロパティは存在しなくなる。

delete演算子が削除するのはプロパティであって、プロパティが参照するオブジェクトではないという点が重要です。

var obj = new Object();
obj.prop = new Date();
obj.ref = obj.prop;
delete obj.prop;
alert(obj.ref);  // obj.refの参照はそのままで、Dateオブジェクトを参照する。

5.10.5 void演算子

  • void演算子はオペランド値を廃棄して未定義値を返す。

クライアントサイドJavaScriptで、URIのJavaScriptスキームと合わせて使うくらいということですが、JavaScriptスキームは非公式なスキームですし、HTMLなどと組み合わせる場合にもすすめられる方法ではないので、実際にはほとんど使い道がなさそうな気がします。

5.10.6 配列とオブジェクトにアクセスする演算子

  • 配列の要素にアクセスするときの角括弧([])や、オブジェクトの要素にアクセスするときのドット(.)も演算子として扱われる。
  • ドット演算子の左側のオペランドはオブジェクト、右側のオペランドは識別子(オブジェクトのプロパティ名)でなければならない
  • []演算子では、角括弧の中のオペランドは次のものでなければならない。
    • 角括弧の前のオペランドが配列を参照する場合は、値が整数となる任意の式。
    • 角括弧の前のオペランドがオブジェクトの参照である場合は、式の評価の結果が文字列となる任意の式。

5.10.7 関数呼び出し宇演算子

  • ()演算子は関数を呼び出すときに使用する演算子である。
  • ()演算子の前のオペランドは、関数名か関数を参照する式のどちらかでなければならない。

コメント (0)

この記事へのコメントはまだありません。

コメントフォーム

トラックバック (0)

この記事へのトラックバックはまだありません。

この記事のトラックバックURI
http://dxd8.com/archives/58/trackback/
この記事のURI
http://dxd8.com/archives/58/