JavaScript - if文を省略してコードをシンプルにする
JavaScriptでif 文を省略して書く方法がいくつかあります。
ここでは、条件式(true/false)を省略する方法、行数や波括弧を省略する方法、 三項演算子(条件演算子)を使って1行で記述する方法を紹介します。
if文の条件式(true/false)を省略する
条件式において、ある変数が true か false かを判断する場合は、 下のような省略した書き方がよく使われます。
true を省略
// 省略しない書き方
if (judge == true) {
a = 0;
}
// 省略時
if (judge) {
a = 0;
}
false を省略
// 省略しない書き方
if (judge == false) {
a = 0;
}
// 省略時
if (!judge) {
a = 0;
}
この条件式(true/false)を省略する方法は、 よく見かけますし、よく使います。ぜひ使いこなしてください。
if文の行数や波括弧を省略する方法
次のような複数にわたる行を省略して書くことができます。
// 省略しない書き方
if (a == 0) {
b = 1;
}
1行で記述する
// 1行で記述する
if (a == 0) { b = 1; }
1行で記述し、波括弧を省略
文が1文の場合は、波括弧を省略することができます。
// 1行、かつ波括弧を省略
if (a == 0) b = 1;
上であげた3つの if 文はどれも同じ意味です。
自分や読む人がわかりやすい方法で記述してください。
三項演算子(条件演算子)を使ってif文を1行で記述する方法
三項演算子(条件演算子)は「?」と「:(コロン)」を使い、 次のように記述します。
条件式 ? 条件式がtrue時の式 : 条件式がfalse時の式
通常の if 文と、三項演算子(条件演算子)を使った場合の違いを見てみます。
// 省略しない書き方
if (a == b) {
c = 1;
} else {
c = 2;
}
三項演算子(条件演算子)を使った場合
上の if 文は、三項演算子を使って次のように記述できます。
// 条件式 ? 条件式がtrue時の式 : 条件式がfalse時の式
(a == b) ? c = 1 : c = 2;
//又は次のようにも記述できます。
c = (a == b) ? 1 : 2;
式がシンプルな場合は、三項演算子を使って省略した方が見やすくなる場合があります。
でも、式がシンプルでない場合は、 三項演算子を使うとコードがわかりにくくなる場合があります。
その辺は状況に応じて使い分けてください。