JavaScriptで使われる基本の演算子について解説します。値の計算を行う「算術演算子」から「論理演算子」などJavaScriptの基本の演算子をサンプルコードと共に一覧にしました。
目次
2.1. 算術演算子 [Arithmetic Operators]
2.2. 代入演算子 [Assignment Operators]
2.3. 論理演算子 [Logical Operators]
2.4. 比較演算子 [Comparison Operators]
2.5. 文字列演算子 [String Operators]
2.6. 条件(三項)演算子 [Conditional (ternary) Operators]
1. 演算子とは?
JavaScriptには、四則演算を行う演算子やif文などで用いる条件比較の為の演算子、数値の大小を比較する演算子など様々なタイプの演算子があります。
「演算子」とは、例えば「1 + 2」という四則演算(計算)を行う場合のプラス記号「+」の事です。「1」や「2」を「被演算子」もしくは「オペランド(operand)」と呼びます。
2. 基本の演算子
2.1. 算術演算子 [Arithmetic Operators]
左右オペランドの数値を計算し値を返す演算子です。
演算子 | 説明 | サンプルコード |
---|---|---|
[+] | 加算演算子(Addition Operator)プラス(+)記号。一つ目のオペランドと二つ目のオペランドを足した値を返します。 |
var x = 10 + 5; //x の値は15。 |
[-] | 減算演算子(Subtraction Operator)マイナス(-)記号。一つ目のオペランドから二つ目のオペランドを引いた値を返します。 |
var x = 10 - 5; //x の値は5。 |
[*] | 乗算演算子(Multiplication Operator)アスタリスク(*)記号。一つ目のオペランドと二つ目のオペランドを掛けた値を返します。 |
var x = 10 * 5; //x の値は50。 |
[/] | 除算演算子(Division Operator)スラッシュ(-)記号。一つ目のオペランドと二つ目のオペランドを割った値を返します。 |
var x = 10 / 5; //x の値は2。 |
[%] | 剰余演算子(Modulus Operator)パーセント(-)記号。一つ目のオペランドと二つ目のオペランドを割った余りの値を返します。 |
var x = 10 % 3 ; //x の値は1。 |
[++] | インクリメント演算子(Increment Operator)プラス(++)記号。オペランドの数値を一つずつ加算し、値を返します。 |
var x = 3; x++; //x の値は4。 |
[--] | デクリメント演算子(Decrement Operator)マイナス(--)記号。オペランドの数値を一つずつ減算し、値を返します。 |
var x = 3; x--; //x の値は2。 |
[**] | べき乗演算子(Exponentiation Operator)アスタリスク(**)記号。一つ目のオペランドを二つ目のオペランドでべき乗した値を返します。 |
var x = 2 ** 3; //x の値は8。 |
2.2. 代入演算子 [Assignment Operators]
データーや変数などを左オペランドの変数に代入する為の記号です。最もポピュラーな代入演算子はイコール「=」です。
演算子 | 説明 | サンプルコード |
---|---|---|
[=] | 代入演算子(Assignment Operator)イコール(=)記号。変数に、右オペランドの値をを代入します。 |
var x = 10; //x の値は10。 |
[+=] | 加算代入演算子(Addition assignment Operator)左オペランドに右オペランドの値を足した値を返します。 |
var x = 10; x += 2; //x の値は12。 |
[-=] | 減算演算子左オペランドに右オペランドの値を引いた値を返します。 |
var x = 10; x -= 2; //x の値は8。 |
[*=] | 乗算演算子(Subtraction assignment Operator)左オペランドに右オペランドの値を掛けた値を返します。 |
var x = 10; x *= 2; //x の値は20。 |
[/=] | 除算演算子(Division assignment Operator)左オペランドに右オペランドの値で割った値を返します。 |
var x = 10; x *= 2; //x の値は5。 |
[%=] | 剰余演算子(Remainder assignment Operator)左オペランドに右オペランドの値で割った余りの値を返します。 |
var x = 10; x %= 3; //x の値は1。 |
[**=] | べき上演算子(Exponentiation assignment Operator)左オペランドに右オペランドの値でべき乗した値を返します。 |
var x = 2; x **= 3; //x の値は8。 |
2.3. 論理演算子 [Logical Operators]
論理演算子には「論理積(AND)」、「論理和(OR)」、「否定(NOT)」の3つの演算子があり、2つ以上の条件式の演算結果を返す演算子です。
演算子 | 説明 | サンプルコード |
---|---|---|
[&&] | 論理AND演算子(Logical And Operator)右オペランドの条件式と左オペランドの条件式が共に真(true)の場合、「true」を返します。 |
var x = 10; var y = 5; (x < 20 && y > 1) //「true」を返します。 |
[||] | 論理OR演算子(Logical Or Operator)右オペランドの条件式、または左オペランドの条件式が真(true)の場合、「true」を返します。 |
var x = 10; var y = 5; (x == 20 || y == 5) //「true」を返します。 |
[!] | 論理NOT演算子(Logical Not Operator)条件式が真(true)の場合「false」を返し、偽(false)の場合「true」を返します。 |
var x = 5; !(x == 10) //「true」を返します。 |
2.4. 比較演算子 [Comparison Operators]
条件文で二つのオペランドを比較する際に使う記号が「比較演算子」です。
演算子 | 説明 | サンプルコード |
---|---|---|
[==] | 等価演算子(Eequality Operator)右オペランドの値と左オペランドの値が同じ場合、「true」異なる場合に「false」を返します。 |
var x = 5; var y = 5; (x == y) //「true」を返します。 |
[!=] | 不等価演算子(Inequality Operator)右オペランドの値と左オペランドの値が一致しない場合に「true」、同じ場合「false」を返します。 |
var x = 10; var y = 5; (x != y) //「true」を返します。 |
[===] | 厳密等価演算子(Strict equality Operator)右オペランドの値と左オペランドの値が型も含めて同じ場合、「true」異なる場合に「false」を返します。 |
var x = 5; var y = "5"; (x === y) //「false」を返します。 |
[!==] | 厳密不等価演算子(Strict inequality Operator)右オペランドの値と左オペランドの値が一致しない場合、または型が一致しない場合に「true」、型も値も同じ場合に「false」を返します。 |
var x = 5; var y = "5"; (x !== y) //「true」を返します。 |
[>] | 大なり演算子(Greater than Operator)左オペランドの値が、右オペランドの値より大きい場合に「真(true)」を返します。 |
var x = 10; (x > 5) //「true」を返します。 |
[<] | 小なり演算子(Greater than Operator)左オペランドの値が、右オペランドの値より小さい場合に「真(true)」を返します。 |
var x = 10; (x < 5) //「false」を返します。 |
[>=] | 大なりイコール演算子(Greater than or equal Operator)左オペランドの値が、右オペランドの値以上の場合に「真(true)」を返します。 |
var x = 5; (x >= 10) //「false」を返します。 |
[<=] | 小なりイコール演算子(Less than or equal Operator)左オペランドの値が、右オペランドの値以下の場合に「真(true)」を返します。 |
var x = 5; (x <= 10) //「true」を返します。 |
2.5. 文字列演算子 [String Operators]
文字列を結合する演算子です。
演算子 | 説明 | サンプルコード |
---|---|---|
[+] | 結合演算子(Concatenation Operator)左オペランドの文字列と右オペランドの文字列を結合します。 |
var name1 = "山田"; var name2 = "花子"; var fullName = name1 + name2; //fullName の値は「山田花子」です。 |
[+=] | 代入演算子(Assignment Operator)左右オペランドの文字列を結合します。 |
var myName = "山田"; myName += "太郎"; //myName の値は「山田太郎」です。 |
2.6. 条件(三項)演算子 [Conditional (ternary) Operators]
条件演算子は、その名のとおりある条件の真偽により2項目もしくは3項目の値を返す演算子です。
構文 | 説明 | サンプルコード |
---|---|---|
[条件 ? 値1 : 値2] | 条件(三項)演算子条件が真(true)の場合「値1」を返し、偽(false)の場合「値2」を返します。 |
var age = 50; var status = (age >= 20) ? "成人です。":"未成年です。"; //「成人です。」を返します。 |