2
0

三項演算子

Last updated at Posted at 2024-01-30

はじめに

新入社員教育でウェブ開発について学習しています。
今回はWEBページ作成中に混乱した、
演算子の種類や三項演算子についてまとめました。

演算子とは

「1つ以上の値」から、(計算などの操作をして)「別の値」を生み出すもの

四則演算をする際に使用する+(足す) -(引く) *(掛ける) /(割る)などが演算子にあたります。

$num = 4 + 7

+=を使って、47という1つ以上の値を受け取り、11という別の値を生み出しています。

オペレーター・オペランド

image.png

演算子をオペレーター、演算の対象となる値や変数のことをオペランドという

$num = 4 + 7  //+,=はオペレーター、4,7,$numはオペランド
const hoge = 10  //=はオペレーター、hoge,10はオペランド

詳しくいうと、最初の式は
オペレーターである代数演算子「+」のオペランドが、4 と 7 で、
オペレーターである代入演算子「=」のオペランドが、変数 numと、部分式 4 + 7 です。

三項演算子とは

image.png

  1. if文の省略形または代替手段として利用することが可能
  2. 3つのオペランドを必要とする演算子

1. if文の省略形または代替手段

if文とは

IF文は「条件式」の結果に応じて、「True」「False」の処理を振り分けることができる構文です。

if(条件式) {
    //Trueの処理
} else {
    //Falseの処理
}

これを「条件(三項)演算子」で記述すると、

条件式 ? Trueの処理 : Falseの処理

となり、シンプルにすることができます。

使ってみる

if文
if(5 > 2) {
    console.log( true );
} else {
    console.log( false );
}

image.png

三項演算子
console.log( 5 > 2 ? true : false );

image.png

このサンプルでは条件式が「5 > 2」となっており、正しい条件なのでtrueの処理が実行されて最終的には「true」が表示されているのが分かります。

最終的な結果を「戻り値」として変数に代入してみると

const result = 5 > 2 ? true : false;
console.log( result );

image.png

変数「result」へ条件式の結果を代入して出力しているのが分かります。

三項演算子とif文の使い分け

if文を何でもかんでも三項演算子に置き換えることはおすすめしません。

if文を使ったほうがいい時

  • 分岐が複雑な時
  • ネストが深い時

三項演算子は、if文を一行にまとめたいとき、コードをシンプルにしたい時に使用できます。

2. 3つのオペランドを必要とする演算子

単項演算子、二項演算子、三項演算子の違いを説明します。

単項演算子

式を書いたときに、被演算子(変数とか値)が1つだけ登場する演算子

例)インクリメント演算子・デクリメント演算子
image.png

演算子 名前 説明
++数値 前置インクリメント 数値 に 1 を加え、数値 を返します。
数値++ 後置インクリメント 数値 を返し、数値 に1を加えます。
--数値 前置デクリメント 数値 から 1 を引き、数値 を返します。
数値-- 後置デクリメント 数値 を返し、数値 から 1 を引きます。

【前置インクリメント】

前置インクリメント
let num = 5;
console.log(++num); 

image.png

image.png

二項演算子

式を書いたときに、被演算子(変数とか値)が2つ登場する演算子

最初の演算子の説明で出てきた算術演算子は、二項演算子です。
image.png

三項演算子

式を書いたときに、被演算子(変数とか値)が3つ登場する演算子

image.png

まとめ

演算子とは
「1つ以上の値」から、(計算などの操作をして)「別の値」を生み出すもの
演算子をオペレーター、演算の対象となる値や変数のことをオペランドという

三項演算子とは
1.if文の省略形または代替手段として利用することが可能
2.3つのオペランドを必要とする特殊な演算子

参考

2
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0