LoginSignup
3
1

More than 3 years have passed since last update.

【JavaScript】JavaScrpitにおけるAND条件とOR条件について

Last updated at Posted at 2020-11-22

JavaScriptにおけるfalsyな値

falsyな値とは、Booleanで変換した際にfalseが返る値

  • false
  • null
  • 0
  • 0n(bigint)
  • ""
  • undefined
  • NaN
ex.js
let a = 0;
console.log(Boolean(a));

//false

JavaScriptにおけるtruthyな値

truthyな値とは、Booleanで変換した際にtrueが返る値

  • falsy以外

変数に値が設定するか確認する場合。

if (a) {
  console.log("set")
  }

この場合、変数aがnullや""の場合、setが出力されないため判定できる。
ただし、0 が格納されていた場合は、falseと判定されるので、setは出力されない。

AND条件の動き

左の式から判定していき、falsyな値が出現した場合、返す。(以後の式は実行されない)
全てtruthyな場合は最後の式を返す。

const a = 1;
const b = 2;
const c = 0;

console.log(a === 1 && b === 3);
//a === 1 => true
//b === 0 => false
//出力:false
console.log(a === 1 && b === 2);
//a === 1 => true
//b === 2 => true
//出力:true
console.log(a && b);
//a  => true
//b  => true
//出力:2
console.log(a && c && b);
//a  => true
//c  => falsyな値
//出力:0

OR条件の動き

AND条件と逆。
左の式から判定していき、truthyな値が出現した場合、返す(以後の式は実行されない)。
全てfalsyな場合は最後の式を返す。

const a = 1;
const b = 2;
const c = 0;

console.log(a === 1 || b === 3);
//a === 1 => true
//出力:true
console.log(a === 5 || b === 5);
//a === 1 => false
//b === 2 => false
//出力:false
console.log(a || b);
//a  => truthy
//出力:1
console.log(c || a || b);
//c  => falsy
//a  => truthy
//出力:1

ちなみに

let a = "a";

a && console.log("b");

//bが出力される。

let a = 0;

a && console.log("b");

//bは出力されない。(aがfalsyであるため、console.logは実行されない。)
3
1
2

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
3
1