Reflectメモ

Document

Reflect.apply(target, thisArgument, argumentsList) *

func.apply()のようなもの

Reflect.apply((a, b)=>{console.log(a + b)}, null, [1, 2]);
// => 3


Reflect.construct(target, argumentsList[, newTarget]) *

newで指定したクラスのインスタンスを生成する

class Foo {
    constructor (a, b) {
        console.log(a + b);
    }
}
let foo = Reflect.construct(Foo, [1, 2]);
// => 3