【JavaScript】演算子
算術演算子
+, -, *, /
const x = 6,
y = 2
x + y //加算 8
x - y //減算 2
x * y //乗算 12
x / y //除算 3これらは四則演算を行うための演算子であり、それぞれ加算(+)、減算(-)、乗算(*)、除算(/)に該当する。
%
const x = 5,
y = 2
x % 2 //剰余 1%は剰余に該当する。例では5 / 2 = 2 余り 1のため1となる。
**
const x = 5,
y = 2
x ** y //べき乗 25**はべき乗に該当する。例では5の2乗のため25となる。
インクリメント、デクリメント
x++ //後置インクリメント
x-- //後置デクリメント
++x //前置インクリメント
--x //前置デクリメントインクリメントは、変数に対し1を加算する処理であり、変数の前後どちらかに++を付加します。
前方に付加するとインクリメントは式の最初に評価され、後方に付加すると式の最後に評価されます。
const x = 10
console.log(++x) //11 インクリメントが先に評価される
x = 10
console.log(x++) //10 インクリメントが後に評価される
console.log(x) //11一方デクリメントは、変数に対し1を減算する処理であり、--を付加します。
その他の性質はインクリメントと同じです。
関係演算子
>, <, >=, <=
const x = 10
x > 5 //xは5より大きい → true
x < 5 //xは5より小さい → false
x >= 5 //xは5以上 → true
x <= 5 //xは5以下 → falseこれらは 2 つの値の大小関係を比較し、その結果をBooleanで返します。
通常Numberの比較で使用しますが、String、Arrayの比較も可能です。しかし、利用頻度はかなり低いです。
in
const obj = { a: 1, b: 2 }
'a' in obj //true
'c' in obj //false
const ary = ['a', 'b', 'c']
1 in ary //true
3 in ary //false
'a' in ary //falseinは、指定したキー(プロパティ)がオブジェクトに存在する場合にtrueを返します。
Arrayの場合は指定したインデックスに要素が存在する場合にtrueを返します。
等価演算子
==, !==
const x = 1
x == 1 //true
x == 2 //false
x == '1' //true
x == true //true
x !== 1 //false
x !== 2 //true
x !== '1' //false
x !== true //false==は 2 つの値を比較し、同じであればtrueを返します。
別の型の比較でも、型変換をして同じ値であればtrueを返します。
!==は 2 つの値が違う場合にtrueを返します。
===
const x = 1
x === 1 //true
x === 2 //false
x === "1" //false
x === true //false
x !=== 1 //false
x !=== 2 //true
x !=== "1" //true
x !=== true //true===は同じく 2 つの値を比較しますが、型を含めて同じ場合にtrueを返します。
!===は値、型のどちらかが違う場合にtrueを返します。
厳密な判定を行いたい場合はこちらを使用します。
論理演算子
&&
const x = 5
x > 0 && x <= 5 //true
x > 0 && x < 5 //false&&は論理積を意味し、すべての条件がtrueの場合にtrueを返します。
||
const x = 5
x < 0 || x >= 5 //true
x < 0 && x > 5 //false||は論理和を意味し、どれか 1 つの条件がtrueの場合にtrueを返します。
単項演算子
+, -
const x =
'1' +
x - //1
x + //-1
true - //1
true //-1+は数値以外の変数、リテラルを数値に変換します。
-は変換した数値に対して-1をかけます。
!
!true //false
!false //true!は否定を表します。
代入演算子
let x = 10
x += 5 //x = x + 5代入演算子はこれまでにも使用しているように、変数に対してリテラルを設定する際に使用します。
また、+=のように他の演算子を組み合わせて使用することができます。
三項演算子
const x = 10
const y = x >= 10 ? 'A' : 'B' //10三項演算子は、ある条件の結果から設定する値を分岐したい場合に使用します。
?と:を使用し、条件式 ? 真の場合の値 : 偽の場合の値の形で指定します。
ただし、複雑な条件や複数条件で使用する場合は、可読性が下がるため、通常のif文による条件分岐を使用します。
NULL 合体
const x
//以下y, zは同じ意味
const y = x ?? 0
const z = x === undefined ? x : 0NULL 合体は、値がundefinedまたはnullの場合に、代わりの値を設定するために使用します。
値が設定されている場合はその値が設定されます。