目次
- ECMAScriptの演算子「計算」
- ECMAScriptの演算子「論理」
- ECMAScriptの演算子「代入」
1. ECMAScriptの演算子「計算」
1-1. 加算 A + B
加算演算子 (+) は、数値オペランドの合計または文字列の連結を生成します。
console.log(7 + 2); //7 + 2 = 9
9
1-2. 減算 A - B
console.log(7 - 2); //7 - 2 = 5
5
1-3. 乗算 A * B
console.log(7 * 2); //7 × 2 = 14
14
1-4. 除算 A / B
console.log(7 / 2); //7 ÷ 2 = 3.5
3.5
1-5. 剰余演算 A % B
console.log(7 % 2); //7 ÷ 2 = 3余り1
1
1-6. べき乗 A ** B
console.log(7 ** 2); //72 = 7 × 7 = 49
49
1-7. グループ化 A * (B + C)
console.log(7 * 2 + 2); //7 × 2 + 2 = 14 + 2 = 16
console.log(7 * (2 + 2)); //7 × (2 + 2) = 7 × (4) = 14
16
14
1-8. 単項プラス +A
const box = -7;
console.log(+box);
7
1-9. 単項マイナス -A
const box = 7;
console.log(-box);
-7
1-10. インクリメント A++ ++A
ifステートメントやwhileステートメントなどのループ文に使用されることが多い。
const box1 = 7;
const box2 = box1++; //box2に7が代入された後、インクリメントされてbox1は8になる
console.log(box1);
console.log(box2);
7
8
1-11. デクリメント A-- --A
console.log(2 + 3); //output: 5
2. ECMAScriptの演算子「論理」
2-1. NOT(否定) !A
console.log(!true); //false
console.log(!false); //true
false
true
2-2. より大きい A < B
console.log(1 < 2); //true
console.log(1 < 1); //false
console.log(2 < 1); //false
true
false
false
2-1. 以上 A <= B
console.log(1 <= 2); //true
console.log(1 <= 1); //true
console.log(2 <= 1); //false
true
true
false
2-1. 以下 A >= B
console.log(1 >= 2); //false
console.log(1 >= 1); //true
console.log(2 >= 1); //true
false
true
true
2-1. より小さい(未満) A >= B
console.log(1 > 2); //false
console.log(1 > 1); //false
console.log(2 > 1); //true
false
false
true
2-1. 等しい A == B、厳密に等しい A === B
number型とstring型が異なるため
console.log(1 == 1); //true
console.log(1 == "1"); //true
console.log(1 === 1); //true
console.log(1 === "1"); //false
true
true
true
false
2-1. 等しくない A != B、厳密に等しくない A !== B
console.log(1 != 1); //false
console.log(1 != "1"); //false
console.log(1 !== 1); //false
console.log(1 !== "1"); //true
false
false
false
true
2-1. AND(どちらも) A && B
console.log(true && true); //true
console.log(true && false); //false
console.log(false && true); //false
console.log(false && false); //false
true
false
false
false
2-1. OR(または) A || B
console.log(true || true); //true
console.log(true || false); //true
console.log(false || true); //true
console.log(false || false); //false
true
true
true
false
2-1. Null合体演算子 A ?? B
Null 合体演算子 (??) は論理演算子の一種です。この演算子は左辺が null または undefined の場合に右の値を返し、それ以外の場合に左の値を返します。
これは論理 OR 演算子 (||) の特殊形と見なすことができます。そちらは左辺の値が null や undefined だけでなく、何らかの偽値であった場合に右辺値を返すものです。つまり、 || を使って別の変数 foo に何らかの既定値を与える場合、一部の偽値(例えば '' や 0)を使用可能とみなすと、予想外の動作に遭遇することがあります。詳しい例は以下を参照してください。
Null 合体演算子は演算子の優先順位が下から 5 番目で、 || のすぐ下、条件(三項)演算子のすぐ上とします。
console.log(null ?? "hello"); //hello
console.log(undefined ?? "hello"); //hello
console.log(1 ?? "hello"); //1
console.log("anything" ?? "hello"); //anything
hello
hello
1
anything
2-1. 三項演算子(簡略版ifステートメント) A ? B : C
HTMLで使うから、ダブルクォーテーションは使わない方がいい?
console.log(true ? "1" : "0"); //1
console.log(false ? "1" : "0"); //0
1
0
3. ECMAScriptの演算子「代入」
3-1. 代入 A = B
迷ったら夜。
const box = 7;
console.log(box); //7
7
3-2. 計算とともに代入(加算代入 A += B、減算代入 A -= B、乗算代入 A *= B、除算代入 A /= B、剰余演算代入 A %= B、べき乗代入 A **= B)
代入と計算が省略された。
let box = 7;
box = box + 2;
console.log(box); //9
// 下記の書き方も同じ意味を持つ
let cup = 7;
cup += 2;
console.log(cup); //9
9
9
let box = 7; |
名称 | 構文 | 例 |
加算代入 | A += B | box += 2; |
減算代入 | A -= B | box -= 2; |
乗算代入 | A *= B | box *= 2; |
除算代入 | A /= B | box /= 2; |
剰余算代入 | A %= B | box %= 2; |
累乗代入 | A **= B | box **= 2; |
3-3. 条件に合えば代入(AND代入 &&=、OR代入 ||=、??= Null合体演算子代入)
let box = true;
box &&= 7;
console.log(box); //7
let cup = false;
cup &&= 7;
console.log(cup); //false
7
false
let box = true; |
名称 | 構文 | 例 |
加算代入 | A &&= B | box &&= 2; |
減算代入 | A ||= B | box ||= 2; |
乗算代入 | A ??= B | box ??= 2; |
let box = true;
box ||= 7;
console.log(box); //true
let cup = false;
cup ||= 7;
console.log(cup); //7
true
7
let box = null;
box ??= 7;
console.log(box); //7
let cup = undefined;
box ??= 7;
console.log(box); //7
let bottle = true;
bottle ??= 7;
console.log(bottle); //true
7
7
true