PORTFOLIO & WEB DESIGN MEMORANDOM BLOG   
PORTFOLIO & WEB DESIGN MEMORANDOM BLOG   

【JAVASCRIPT】JavaScriptの真偽値(Boolean)について

JavaScriptの真偽値とは

JavaScriptの真偽値(Boolean)は、プログラミングにおいて重要なデータ型の一つです。真偽値は、「真(true)」または「偽(false)」の2つの値を持ちます。

真偽値リテラル(Boolean literals)

真偽値リテラルの意味

true: 真を意味する値。条件が成立している場合や、論理式が true である場合に使用されます。
false: 偽を意味する値。条件が成立していない場合や、論理式が false である場合に使用されます。

真偽値リテラルは、直接 true または false として書かれます。

  1. let isTrue = true;
  2. let isFalse = false;

真偽値の変換

JavaScriptでは、他のデータ型を真偽値に変換することができます。以下の値は「偽(false)」と見なされます。

1.false

2.0(数値のゼロ)

3.””(空文字列)

4.null

5.undefined

6.NaN(Not-a-Number)

これら以外の値はすべて「真(true)」と見なされます。

  1. console.log(Boolean(false)); // false
  2. console.log(Boolean(0)); // false
  3. console.log(Boolean("")); // false
  4. console.log(Boolean(null)); // false
  5. console.log(Boolean(undefined)); // false
  6. console.log(Boolean(NaN)); // false
  7. console.log(Boolean(1)); // true
  8. console.log(Boolean("Hello")); // true
  9. console.log(Boolean([])); // true
  10. console.log(Boolean({})); // true

条件文での利用

真偽値は、条件文(if文など)でよく使用されます。

  1. let value = 1;
  2. if (value) {
  3.     console.log("Value is true");
  4. } else {
  5.     console.log("Value is false");
  6. }

この場合、value が 1 であるため、「Value is true」が表示されます。

JavaScriptの真偽値変換

JavaScriptでは、数値や文字列などの他のデータ型が条件式で使用されると、自動的に真偽値に変換されます。この変換を「型変換(type coercion)」と呼びます。

「真(true)」として扱われる値: 数値の 0 以外のすべての数値、非空の文字列、オブジェクト、配列など
「偽(false)」として扱われる値: 数値の 0、空文字列 “”、null、undefined、NaN など

このルールにより、次のような条件文で value が 1 の場合、1 は「真(true)」と見なされます。

比較演算子

JavaScriptでは、比較演算子を使って値を比較し、その結果として真偽値を得ることができます。

  1. let a = 5;
  2. let b = 10;
  3. console.log(a < b); // true
  4. console.log(a > b); // false
  5. console.log(a === b); // false
  6. console.log(a !== b); // true

論理演算子

論理演算子を使って真偽値を操作することもできます。

AND(論理積): &&

OR(論理和): ||

NOT(否定): !

  1. let a = true;
  2. let b = false;
  3. console.log(a && b); // false
  4. console.log(a || b); // true
  5. console.log(!a); // false
  6. console.log(!b); // true

論理演算子 &&(AND)を用いた例

フォームの入力検証

ユーザーがオンラインフォームに入力する際に、ユーザー名とパスワードの両方が正しい形式であることを確認する例文です。
以下は、&& 演算子を使って両方の条件をチェックする例です。

  1. // ユーザーがフォームに入力した値
  2. let username = "user123";
  3. let password = "password123";
  4. // ユーザー名とパスワードの検証条件
  5. let isUsernameValid = username.length >= 6; // ユーザー名が6文字以上であること
  6. let isPasswordValid = password.length >= 8; // パスワードが8文字以上であること
  7. // 両方の条件を満たしているかを確認
  8. if (isUsernameValid && isPasswordValid) {
  9.     console.log("ユーザー名とパスワードは有効です。");
  10. } else {
  11.     console.log("ユーザー名またはパスワードが無効です。");
  12. }

このコードでは、isUsernameValid と isPasswordValid の両方が true である場合に、ユーザー名とパスワードが有効であると判断します。
どちらか一方でも false であれば、「ユーザー名またはパスワードが無効です。」と表示されます。

さらに複雑な例: 条件のネスト

  1. // ユーザーがフォームに入力した値
  2. let age = 25;
  3. let email = "user@example.com";
  4. let isNewsletterSubscribed = true;
  5. // 条件: 年齢が18以上で、メールアドレスが有効で、ニュースレターに登録している
  6. if (age >= 18 && email.includes("@") && isNewsletterSubscribed) {
  7.     console.log("すべての条件を満たしています。");
  8. } else {
  9.     console.log("条件のいずれかが満たされていません。");
  10. }

このコードでは、年齢が18歳以上、メールアドレスに「@」が含まれている、ニュースレターに登録しているという3つの条件をすべて満たしている場合に「すべての条件を満たしています。」と表示されます。
どれか一つでも条件が満たされていない場合は、「条件のいずれかが満たされていません。」と表示されます。

MILMONA   MILMONA   MILMONA   MILMONA   MILMONA   
MILMONA   MILMONA   MILMONA   MILMONA   MILMONA