Menu
Coddy logo textTech

論理演算子 パート3

CoddyのJavaScriptジャーニー「基礎」セクションの一部 — レッスン 21/77。

論理式を扱う際、それらを簡略化したり、並べ替えたりする必要があることがあります。

&& (and) で結合された2つの条件の前に ! (not) がある場合、それを2つの別々の部分に分割できます。&& (and) は || (or) になり、それぞれの部分に ! (not) が付きます:

!(A && B)(!A) || (!B) と同じです

例えば:

// 数値が(1から10の間)ではないかどうかを確認しましょう
let number = 15

// これら2つの式は等価です:
let result1 = !(number >= 1 && number <= 10)
let result2 = !(number >= 1) || !(number <= 10)

console.log(result1)  // True
console.log(result2)  // True

その逆もまた正しいです:!(A || B)(!A) && (!B) と同じです

例えば:

// ある人が(学生または雇用されている)状態ではないことを確認する
let is_student = false
let is_employed = false
// これら2つの式は等価です:
let result1 = !(is_student || is_employed)
let result2 = !is_student && !is_employed

console.log(result1)  // True
console.log(result2)  // True
challenge icon

チャレンジ

初心者

ペットショップが、顧客にペットを販売できるかどうかを判断するシステムを作成するのを手伝っています。

以下の変数を初期化してください:

  • true を持つ has_license
  • false を持つ has_space
  • true を持つ has_experience

以下の条件を判断するための論理式を記述してください:

  • can_sell_regular_pet: 顧客はライセンスまたは経験のいずれかが必要であり、かつスペースを持っている必要があります
  • can_sell_exotic_pet: 顧客はライセンスと経験の両方が必要であり、かつスペースを持っている必要があります
  • cannot_sell_any_pet: 顧客はライセンスがなく、かつ経験もない、またはスペースを持っていません

チートシート

ド・モルガンの法則を使用すると、! (not) 演算子を移動させることで論理式を簡略化できます:

!(A && B)(!A) || (!B) と同じです

// NOT (1から10の間)
let result1 = !(number >= 1 && number <= 10)
let result2 = !(number >= 1) || !(number <= 10)  // 同等

!(A || B)(!A) && (!B) と同じです

// NOT (学生または就業者)
let result1 = !(is_student || is_employed)
let result2 = !is_student && !is_employed  // 同等

自分で試してみよう

// 変数を初期化する

// 条件を計算する
let can_sell_regular_pet = 
let can_sell_exotic_pet = 
let cannot_sell_any_pet =

// 以下の行を削除しないでください
console.log("Can sell regular pet:", can_sell_regular_pet)
console.log("Can sell exotic pet:", can_sell_exotic_pet)
console.log("Cannot sell any pet:", cannot_sell_any_pet)
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン