JavaScript(ジャバスクリプト)の演算子についてのリファレンス。
-
算術演算子「+」「-」「*」「/」「%」
JavaScriptの算術演算子には、四則演算を行う演算子「+」「-」「*」「/」と、剰余演算子「%」がある。四則演算とは、加算(+)、減算(-)、乗算(×)、除算(÷)の4つの二項演算のこと。剰余演算子とは、除算の余りを求める演算子のこと。
-
単項マイナス演算子(算術否定演算子、符号反転演算子)「-」
単項マイナス演算子(算術否定演算子、符号反転演算子)「-」とは、変数の値の数値の符号を反転する演算子。正数は負数になり、負数は正数になる。
-
インクリメント演算子(加算子)「++」
インクリメント演算子(加算子)「++」とは、変数の値に、1を加算する演算子。
-
デクリメント演算子(減算子)「--」
デクリメント演算子(減算子)「--」とは、変数の値から、1を減算する演算子。
-
代入演算子「=」
代入演算子「=」とは、左のオペランド(演算子引数)の変数に、右のオペランド(演算子引数)の値を代入する演算子。
-
複合代入演算子
複合代入演算子とは、結合演算子、算術演算子(代数演算子)、ビット演算子の各演算子と、代入演算子とを合成した演算子。
-
算術演算子と代入演算子の複合
算術演算子(代数演算子)は、代入演算子と合成し、複合代入演算子として使うことができる。算術演算子と代入演算子の複合代入演算子には、加算代入演算子「+=」、減算代入演算子「-=」、乗算代入演算子「*=」、除算代入演算子「/=」、剰余代入演算子「%=」がある。
-
文字列演算子「+」「+=」
文字列演算子とは、結合演算子「+」と結合代入演算子「+=」のこと。文字列を連結するときに使う。
-
ビット演算子
ビット演算子とは、ビット単位の処理を行う演算子のこと。左右のオペランド(演算子引数)の値を2進数に変換し、各桁(ビット)の数値(「0」か「1」)に基づき処理を行う。最後に、演算結果を10進数に戻す。
-
ビット論理積演算子「&」
ビット論理積演算子「&」とは、ビット単位で、論理積(AND)の処理を行う演算子のこと。左右のオペランド(演算子引数)の値を2進数に変換し、各桁(ビット)の数値(「0」か「1」)が、共に「1」である桁を「1」とする。最後に、演算結果を10進数に戻す。
-
ビット論理積代入演算子「&=」
ビット論理積代入演算子「&=」とは、ビット単位で、論理積(AND)の処理を行い、左のオペランド(演算子引数)の変数に代入する演算子のこと。左右のオペランド(演算子引数)の値を2進数に変換し、各桁(ビット)の数値(「0」か「1」)が、共に「1」である桁を「1」とする。最後に、演算結果を10進数に戻し、左のオペランド(演算子引数)の変数に代入する。
-
ビット論理和演算子「|」
ビット論理和演算子「|」とは、ビット単位で、論理和(OR)の処理を行う演算子のこと。左右のオペランド(演算子引数)の値を2進数に変換し、各桁(ビット)の数値(「0」か「1」)が、共に「1」である桁と、どちらかが「1」である桁を「1」とする。共に「0」である桁は「0」とする。最後に、演算結果を10進数に戻す。
-
ビット論理和代入演算子「|=」
ビット論理和代入演算子「|=」とは、ビット単位で、論理和(OR)の処理を行い、左のオペランド(演算子引数)の変数に代入する演算子のこと。左右のオペランド(演算子引数)の値を2進数に変換し、各桁(ビット)の数値(「0」か「1」)が、共に「1」である桁と、どちらかが「1」である桁を「1」とする。共に「0」である桁は「0」とする。最後に、演算結果を10進数に戻し、左のオペランド(演算子引数)の変数に代入する。
-
ビット排他的論理和演算子「^」
ビット排他的論理和演算子「^」とは、ビット単位で、排他的論理和(XOR)の処理を行う演算子のこと。左右のオペランド(演算子引数)の値を2進数に変換し、各桁(ビット)の数値(「0」か「1」)の、どちらか一方が「1」である桁を「1」とする。共に「0」である桁と、共に「1」である桁は、「0」とする。最後に、演算結果を10進数に戻す。
-
ビット排他的論理和代入演算子「^=」
ビット排他的論理和代入演算子「^=」とは、ビット単位で、排他的論理和(XOR)の処理を行い、左のオペランド(演算子引数)の変数に代入する演算子のこと。左右のオペランド(演算子引数)の値を2進数に変換し、各桁(ビット)の数値(「0」か「1」)の、どちらか一方が「1」である桁を「1」とする。共に「0」である桁と、共に「1」である桁は、「0」とする。最後に、演算結果を10進数に戻し、左のオペランド(演算子引数)の変数に代入する。
-
左シフト演算子「<<」
左シフト演算子「<<」とは、指定したビット数分左へシフトする演算子のこと。左のオペランド(演算子引数)の値を2進数に変換し、右のオペランド(演算子引数)の数値分左にシフトし、右を0で埋める。最後に、演算結果を10進数に戻す。
-
左シフト代入演算子「<<=」
左シフト代入演算子「<<=」とは、指定したビット数分左へシフトし、変数に代入する演算子のこと。左のオペランド(演算子引数)の変数の値を2進数に変換し、右のオペランド(演算子引数)の数値分左にシフトし、右を0で埋める。最後に、演算結果を10進数に戻し、左のオペランド(演算子引数)の変数に代入する。
-
右シフト演算子「>>」
右シフト演算子「>>」とは、指定したビット数分右へシフトする演算子のこと。左のオペランド(演算子引数)の値を2進数に変換し、右のオペランド(演算子引数)の数値分右にシフトする。右に溢れたビットは破棄する。符号(+/-)は維持する。最後に、演算結果を10進数に戻す。
-
右シフト代入演算子「>>=」
右シフト代入演算子「>>=」とは、指定したビット数分右へシフトし、変数に代入する演算子のこと。左のオペランド(演算子引数)の変数の値を2進数に変換し、右のオペランド(演算子引数)の数値分右にシフトする。右に溢れたビットは破棄する。符号(+/-)は維持する。最後に、演算結果を10進数に戻し、左のオペランド(演算子引数)の変数に代入する。
-
0埋め右シフト演算子「>>>」
0埋め右シフト演算子「>>>」とは、指定したビット数分右へシフトし、左を0で埋める演算子のこと。左のオペランド(演算子引数)の値を2進数に変換し、右のオペランド(演算子引数)の数値分右にシフトし、左を0で埋める。右に溢れたビットは破棄する。符号は維持しない。結果は、常に正数になる。最後に、演算結果を10進数に戻す。
-
0埋め右シフト代入演算子「>>>=」
0埋め右シフト代入演算子「>>>=」とは、指定したビット数分右へシフトし、左を0で埋め、変数に代入する演算子のこと。左のオペランド(演算子引数)の変数の値を2進数に変換し、右のオペランド(演算子引数)の数値分右にシフトし、左を0で埋める。右に溢れたビットは破棄する。符号は維持しない。結果は、常に正数になる。最後に、演算結果を10進数に戻し、左のオペランド(演算子引数)の変数に代入する。
-
比較演算子(関係演算子)
比較演算子(関係演算子)とは、2つの値を比較し、真もしくは偽を返す演算子。
-
等価演算子「==」
等価演算子「==」とは、左右のオペランド(演算子引数)の値を比較し、等しければ「真(true)」、等しくなければ「偽(false)」を返す演算子。
-
型も含めて比較する等価演算子「===」
型も含めて比較する等価演算子「===」とは、左右のオペランド(演算子引数)の値を比較し、型も含めて等しければ「真(true)」、型も含めて等しくなければ「偽(false)」を返す演算子。
-
不等価演算子「!=」
不等価演算子「!=」とは、左右のオペランド(演算子引数)の値を比較し、等しくなければ「真(true)」、等しければ「偽(false)」を返す演算子。
-
型も含めて比較する不等価演算子「!==」
型も含めて比較する不等価演算子「!==」とは、左右のオペランド(演算子引数)の値を比較し、型も含めて等しくなければ「真(true)」、型も含めて等しければ「偽(false)」を返す演算子。
-
小なり演算子「<」
小なり演算子「<」とは、左右のオペランド(演算子引数)の値を比較し、左のオペランド(演算子引数)の値の方が、小さければ「真(true)」、大きければ「偽(false)」を返す演算子。
-
大なり演算子「>」
大なり演算子「>」とは、左右のオペランド(演算子引数)の値を比較し、左のオペランド(演算子引数)の値の方が、大きければ「真(true)」、小さければ「偽(false)」を返す演算子。
-
以下演算子「<=」
以下演算子(小なりイコール演算子)「<=」とは、左右のオペランド(演算子引数)の値を比較し、左のオペランド(演算子引数)の値の方が、小さければ「真(true)」、大きければ「偽(false)」、左右のオペランド(演算子引数)の値が等しければ「真(true)」を返す演算子。
-
以上演算子「>=」
以上演算子(大なりイコール演算子)「>=」とは、左右のオペランド(演算子引数)の値を比較し、左のオペランド(演算子引数)の値の方が、大きければ「真(true)」、小さければ「偽(false)」、左右のオペランド(演算子引数)の値が等しければ「真(true)」を返す演算子。
-
論理演算子
論理演算子とは、論理演算(ブール演算)に用いる演算子。複数の条件を組み合わせて評価し、真もしくは偽の論理値を返す。比較演算子(関係演算子)と組み合わせることが多い。
-
論理積演算子「&&」
論理積演算子「&&」とは、左右のオペランド(演算子引数)の式の評価が共に「真(true)」であれば、「真(true)」を返す論理演算子。
-
論理和演算子「||」
論理和演算子「||」とは、左右のオペランド(演算子引数)の式の評価が、どちらか一方が「真(true)」、もしくは、両方とも「真(true)」であれば、「真(true)」を返す論理演算子。
-
論理否定演算子「!」
論理否定演算子「!」とは、オペランド(演算子引数)の式の評価が「真(true)」でなければ、「真(true)」を返す論理演算子。
-
メンバー演算子「.」「[]」
メンバー演算子「.」「[]」とは、オブジェクトのプロパティまたはメソッドにアクセスする演算子。ドット表記法とブラケット表記法がある。
-
メンバー演算子のドット表記法におけるプロパティの命名規則
メンバー演算子のドット表記法の場合、プロパティー名には注意が必要だ。一文字目は、半角の英字、アンダースコア_、ドル記号$のいづれかでなければならない。二文字目以降目は、半角の英数字、アンダースコア_、ドル記号$を使える。大文字と小文字は区別する。
-
条件演算子(三項演算子)
条件演算子(三項演算子)とは、条件式、真式、偽式の3つのオペランド(演算子引数)を結ぶ演算子。条件式が真の場合、真式の値を返し、条件式が偽の場合、偽式の値を返す。
-
カンマ演算子「,」
カンマ演算子「,」とは、複数の式を、左の式から順に実行する演算子。カンマ演算子は、for文で使われることが多い。
-
delete演算子
delete演算子とは、オブジェクトの特定のプロパティ、または、配列の特定の要素を削除する演算子。削除禁止のプロパティを削除しようとすると、削除に失敗し、「false」を返す。それ以外の場合は、「true」を返す。
-
function演算子
function演算子とは、関数式を定義する演算子。無名関数を定義するときにも使う。関数式は、変数に代入したり、プロパティに設定したりすると便利だ。
-
get演算子
get演算子とは、オブジェクトのプロパティに、プロパティ参照時に呼び出す関数をバインドする演算子。
-
set演算子
set演算子とは、オブジェクトのプロパティに、プロパティ設定時に呼び出す関数をバインドする演算子。
-
in演算子
in演算子とは、右のオペランド(演算子引数)に指定したオブジェクトに、左のオペランド(演算子引数)に指定したプロパティが存在するかどうかを調べる演算子。指定したプロパティが、指定したオブジェクトに存在する場合、「真(true)」を返す。指定したプロパティが、指定したオブジェクトに存在しなかった場合、「偽(false)」を返す。
-
instanceof演算子
instanceof演算子とは、左のオペランド(演算子引数)に指定したオブジェクトが、右のオペランド(演算子引数)に指定したクラスのインスタンスかどうかを調べる演算子。指定したオブジェクトが、指定したクラスのインスタンスである場合、「真(true)」を返す。指定したオブジェクトが、指定したクラスのインスタンスでない場合、「偽(false)」を返す。
-
let演算子
let演算子とは、ブロック変数を定義する演算子。特定のブロックスコープでのみ有効な変数を定義できる。for文で使うことが多い。
-
let演算子を使いfor文内でのみ有効な変数を定義
let演算子を使い、forループ内でのみ有効なブロック変数を定義する方法。
-
new演算子
new演算子とは、オブジェクトのインスタンスを作成する演算子。コンストラクタがあるユーザー定義オブジェクトや、組み込みオブジェクトのインスタンスを作成できる。
-
this演算子
this演算子とは、現在のオブジェクト(コンテキストオブジェクト、カレントオブジェクト)を参照する演算子。現在のオブジェクトのプロパティやメソッドを参照できる。
-
typeof演算子
typeof演算子とは、データ型を調べる演算子。
-
void演算子
void演算子とは、右のオペランド(演算子引数)に指定した式の評価結果がどうであれ、「undefined」を返す演算子。リンク要素と組み合わせて使うことが多い。
-
yield演算子
yield演算子とは、ジェネレータ関数を定義する演算子。関数内でyield演算子を使うと、その関数はジェネレータ関数となる。ジェネレータ関数とは、yield文が現れると、その後の処理を一時停止する関数のこと。
-
演算子の優先順位
算数において、掛け算を、足し算よりも優先するように、JavaScriptの演算子にも、優先順位がある。優先したい演算を()で括ることで、優先順位を変更することもできる。優先順位が同じときは、結合規則(左から評価するか、右から評価するか)に基づき優先順位が決まる。