2
2

More than 3 years have passed since last update.

JavaScript:演算子「!」(否定) を用いて、各型/値の boolean 型への変換について

Last updated at Posted at 2019-11-08

検証

演算子「!」(否定) にて各型の値を boolean 型(真偽値) へ変換を行う

確認

true_or_false.js
    class TestClass {
        constructor(in_value01, in_value02) {
          this.in_value01 = in_value01;
          this.in_value02 = in_value02;
        }

        get property01() {
          return this.add_method01();
        }

        add_method() {
          return this.in_value01 + this.in_value02;
        }
    }
    // ----------
    console.log('!true = ' + !true);
    console.log('!false = ' + !false);
    console.log("!undefined = " + !(undefined));
    console.log("!'' = " + !'');
    console.log("!'A' = " + !'A');
    console.log("!'ABC' = " + !'ABC');
    console.log("!(-10) = " + !(-10));
    console.log("!(-1) = " + !(-1));
    console.log("!0 = " + !0);
    console.log("!1 = " + !1);
    console.log("!10 = " + !10);
    console.log('!(new TestClass(2, 3)) = ' + !(new TestClass(2, 3)));

結果

output
!true = false
!false = true
!undefined = true
!'' = true
!'A' = false
!'ABC' = false
!(-10) = false
!(-1) = false
!0 = true
!1 = false
!10 = false
!(new TestClass(2, 3)) = false

結論

型により、演算子「!」(否定)にて、真偽値(boolean)へ変換を行った場合は、
「0」,「''」,「undefined」,「false」
のみが「false」になった。
※ 演算子「!」(否定)がついているため、上記結果では否定の「true」という結果になっている

【表1 まとめ】

   対象    !(対象)   
true false
false true
undefined true
'' true
'A' false
'ABC' false
(-10) false
(-1) false
0 true
1 false
10 false
(new TestClass(2, 3)) false

追記

こちらにこれらの boolean 変換のことの記述があることを教えていただきました
MDN Web Docs 用語集: ウェブ関連用語の定義 > Truthy

JavaScript において、 truthy は Boolean コンテキストに現れた時に true とみなされる値のことです。 falsy として定義された値 (つまり、false, 0, "", null, undefined, NaN) を除くすべての値は truthy です。

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