LoginSignup
0
0

More than 1 year has passed since last update.

【JavaScript】変数と参照の振り返り④ AND条件とOR条件

Last updated at Posted at 2021-10-10

はじめに

Udemyの【JS】ガチで学びたい人のためのJavaScriptメカニズムの講座の振り返りです。

前回の記事

目的

  • 変数についての理解を深める

本題

1.AND条件とOR条件

ANDの条件と仕組み

// AND条件 かつ a && b 
// aとbがtureでないといけない

const a = 1;
const b = 1;
// 出力結果で1が返ってくる = ture
console.log(a && b)
const a = 0;
const b = 1;
// まずaがturethyなのかどうか確認する 
// aがtureの場合 => bの値を返す
// aがfalseの場合  => aの値を返す
// ここではaは0なのでaの値を返す
console.log(a && b)
// もしcの値を代入したら
const a = 1;
const b = 2;
const c = 3;
// この場合a,b,cそれそれfalseに値しないのでcの値3が出力される
console.log(a && b && c)

// AND条件はfalthyなものが途中であった場合は、その値を返す
// もしなかった場合は一番最後の値を出力する

ORの条件と仕組み

// OR条件 または 
// aもしくはbがture

const a = 0;
const b = 1;
console.log(a || b)
// // まずaがfalsyかturethyなのかどうか確認する 
// // aがtureの場合 => aの値を返す
// // aがfalseの場合  => bの値を返す
const a = 1;
const b = 0;
// この場合aがturethyなので、1と出力される
console.log(a || b)
// もしa = 0, b = 1, c = 2なら
const a = 0;
const b = 1;
const c = 2;
// この場合aがfalsyなので、bの値1と出力される
console.log(a || b)
// 下記の場合でもbがturethyなので1が出力される
// もし、b = 0(false)ならcの値2が出力される
console.log(a || b || c)

// OR条件はtureが見つかった時点で値を出力される
// 見つからなかった場合は一番最後の値が出力される

もし、AND条件とOR条件が混在していたら、

const a = 0;
const b = 1;
const c = 3;
// 下記の条件では3が出力される 
// aはfalseでOR条件なのでbの値を調べに行く
// bはturethyなのでAND条件によってcの値を調べに行く
// cもturethyなのでAND条件によってcの値を調べに行く
console.log(a || b && c)

このように書いてしまうと、わかりにくいので
基本的にはグループ化をして記述する

// もしd = 0が条件に加わったら
const a = 0;
const b = 1;
const c = 3;
const d = 0;
// グループ毎に演算をおこない、最後にAND条件で結果を出力される
console.log((a || b) && (c || d))
// aとbはOR条件によって、tureが見つかった時点で結果を出力するので、1
// cとdはOR条件によって、3と出力される
// AND条件はfalsyな値が見つかった時点で結果を出力するが今回はどちらもtureなので
// 一番最後の値である右のグループの3が出力される

今日はここまで!

参考にさせて頂いた記事

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