構文
真偽値
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ではなく""が返却される。
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"
参考