LoginSignup
0
0

JavaScriptの三項演算子とtruthy・falsyな値について

Posted at

三項演算子とは

三つの非演算子(オペランド)をとり、条件式から真の場合の値もしくは偽の場合の値を返す演算子になります。 
同じく真偽値によって処理を分ける関数としてif文がありますが、機能としてはそれとよく似たものになりますが、条件判定から値返却まで一行で記述できるというメリットがあります。 

構文

三項演算子は以下のように表現します。

.js
条件式 ? 真の場合に返す値 : 偽の場合に返す値

以下ではその使用方法を詳しく確認します。

使用例

一般的な使用方法

単純な条件式の真偽値を判定し、それに応じて値を返す例です。
この例ではmathScoreとして90の値を格納し、その後三項演算子の処理を行っています。
三項演算子の条件式としてmathScore > 80を評価し、80より大きければLarger Than 80、小さければSmaller Than 80と表示します。
最初の定数として90を代入しているので、console.logにはLarger Than 80と表示されます。

.js
const mathScore = 90;

const isMathScoreLT80 = mathScore > 80 ? "Larger Than 80" : "Smaller Than 80";

console.log(isMathScoreLT80);
//Larger Than 80 と表示されます。

else ifを繋げる

三項演算子では、if文で言うところのelse ifを複数繋げるといった処理も可能です。 
以下のようにして使用します。

.js
let examScore = function (score) {
  return score < 60 ? "drop a class"
       : score < 80 ? "good score"
       : "excellent score";
};

console.log(examScore(70));
//good scoreと表現されます。

Truthy・Falsyな値について

Boolean()メソッドなどを用いて真偽値に変換した際、TrueやFalseに変換される値のことを指します。つまり、Boolean関数にて変換した時、Trueに変換されるものをTruthyな値、Falseに変換されるものをFalsyな値と言います。 

基本的にはFalsyな値の数は少ないので、こちらを覚えたのち、それ以外のものをTrythyな値だと認識しておくといいと思います。 

Falsyな値の一例

  • False
  • 0(数字)
  • ""(空文字)
  • null
  • undefined
  • NaN
     

論理和(OR条件)と論理積(AND条件)について

論理和とは、条件式を左側から順番に調べていき、一つでも条件を満たすものがあればTrueを返し、全ての条件を満たさない場合のみFalseを返します。
論理積とは、すべての条件を満たした場合のみTrueを返し、それ以外のものはFalseを返します。

0
0
0

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
0
0