検証
演算子「!」(否定) にて各型の値を 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 です。