こんにちはtakosanです。
今回は三項演算子について解説します。
「三項演算子?なにそれ?」って人も、
他人のコードで見かけて「なんだこりゃ?」となった人も、
こちらの記事を読めば使い方まで理解できるでしょう。
目次
三項演算子(条件演算子)とは?
三項演算子(条件演算子)とは、簡単に言ってしまうとif分を短くしたやつです。
普通にif文で書くと
// numが3で割り切れる時だけ3で割る
const num = 3;
if (num % 3 === 0){
num = num / 3;
} else {
}
こんな感じでちょっと長くなります。
でも三項演算子を使って書くと
// numが3で割り切れる時だけ3で割る
const num = 3;
num % 3 === 0 ? num / 3 : num;
あら不思議。
なんと5,6行使っていたコードがたった2行で終わってしまいました。
どういう仕組み?
この一文、ぱっと見ただけだと何してるか分からなくて、初心者の方は恐怖すら覚えるでしょう。
僕も始めて見たとき「あぁ、自分はエンジニア向いてないかも…」とすら思いました。
でも大丈夫、仕組みは簡単で今からの説明でわかります。
これはif文を短くしただけなので、同じように
条件式があって、trueならこうする、falseならこうすると書いてあるだけです。
式の構造は下記のようになっています。

最初に条件式がきて、
?のあとにtrueの場合の処理
:のあとにfalseの場合の処理を書いています。
これだけです。
ね、結構簡単でしょ?
三項演算子が適切でないパターンもある
条件分岐がなんでもかんでも三項演算子で書いた方がいいということはありません。
適切なパターンは、値の代入を行うだけなどのシンプルなものに限ります。
条件が複雑になったり、ネストが深くなるものについてはif文を使う方が分かりやすいので
適宜使い分けが必要ということは覚えておきましょう!