このシリーズについて
「JavaScript入門」第5回です。今回は、計算と比較に使う演算子を扱います。
演算子とは
演算子は、値に対して計算や比較を行う記号です。
console.log(10 + 5);
console.log(10 > 5);
JavaScriptの比較では、基本的に === と !== を使います。== は型変換が自動で起きるため、入門段階では避けます。
Step 1: 算術演算子を確認する
数値計算の基本です。
console.log(10 + 3);
console.log(10 - 3);
console.log(10 * 3);
console.log(10 / 3);
console.log(10 % 3);
% は割り算の余りを求めます。偶数判定などでよく使います。
const number = 8;
console.log(number % 2 === 0);
Step 2: 代入演算子を使う
値を更新する時は、短い書き方があります。
let count = 0;
count += 1;
console.log(count);
count += 5;
console.log(count);
count -= 2;
console.log(count);
count += 1 は count = count + 1 と同じ意味です。
Step 3: インクリメントを確認する
1だけ増やす時は ++ が使えます。
let count = 0;
count++;
count++;
console.log(count);
ただし、式の中で複雑に使うと読みづらくなります。最初は単独の行で使うのが安全です。
Step 4: 比較演算子を使う
比較の結果は true または false になります。
console.log(10 > 5);
console.log(10 < 5);
console.log(10 >= 10);
console.log(10 <= 9);
console.log(10 === 10);
console.log(10 !== 5);
条件分岐では、この結果を使います。
Step 5: == と === の違い
== は型を変換してから比較します。
console.log(10 == "10");
console.log(10 === "10");
出力は次のようになります。
true
false
10 は数値、"10" は文字列です。=== は型も含めて比較するため、より予測しやすい結果になります。
注意: 学習用でも実務でも、比較は基本的に === を使います。== の暗黙変換に頼るとバグの原因になります。
練習
operators.js を作り、合計金額と割引判定を出してみます。
const price = 1200;
const quantity = 3;
const total = price * quantity;
const hasDiscount = total >= 3000;
console.log(total);
console.log(hasDiscount);
よくあるエラー
| 困る状態 | よくある原因 | 確認する場所 |
|---|---|---|
| 文字がつながる | 数値ではなく文字列になっている | typeof |
| 比較が意図と違う | == を使っている | === に変更 |
NaN になる | 数値にできない値を計算した | 入力値の中身 |
次のステップ
JavaScript入門 #6 - 文字列とテンプレートリテラル で、文字列の扱い方を学びます。
まとめ
演算子は、計算と比較の基本です。数値計算では + - * / % を使い、比較では === と !== を基本にします。暗黙の型変換に頼らないことで、予測しやすいコードになります。