構文

真偽値

true/false

true扱い

{}/[] オブジェクト/配列
“hoge” 文字列
1/-1 数値
true 真偽値
undefined == null

false扱い

"" 文字
0 数値
false 真偽値
undefined undefined
null null

undefined及びnullの識別

  • undefined == nullはtrueとなるため、 == nullで識別可能。

文字列などを真偽値で返却

  • let a = "" とした時、a ? true : aは、falseではなく""が返却される。
    • !!aであれば、必ず真偽値となる。

mixin

  • ECMAScriptは、多重継承ができないため、親クラス子クラスの間に中間となるクラスを関数経由で用意する事によりmixinを実現する。

以下にFooを親クラスとするmixin例を示す。

class Foo {
    calc() { console.log("Foo"); }
}

let barMixin = Base => class extends Base {
  calc() { console.log("bar"); }
};

class Baz extends barMixin(Foo) {}

let baz = new Baz();
baz.calc();
// output is "bar"

参考