■Reflectについて
// 一般的なインスタンス化
const obj = new C(1, 2);
console.log(obj);
// Reflectを使用したインスタンス化
// Reflect.construct(クラス名, [コンストラクタ関数の引数])
const obj2 = Reflect.construct(C, [1, 2]);
console.log(obj2);
■weekMapについて
→キーが必ずオブジェクトを設定する必要があり、弱い参照のオブジェクト
const wm = new WeakMap();
const o = {};
// 必ずオブジェクト出なければならない
wm.set(o, "value1");
// コンソールにvalue1が出力される
console.log(wm.get(o));
// こうした場合、もうoは「ガベージコレクション」により削除される
// そのため、oに対するキー'value1'も必然的に削除される
o = null;
o = {};
// 参照先のoがメモリ空間に存在しないので、エラーとなる
console.log(wm.get(o));
■配列について
const arry = [1, 2, 3, 4, 5];
// 一番最初に要素を追加する
arry.unshift(0);
// 一番最後に要素を追加する
arry.push(6);
// 一番先頭の要素を削除する
arry.shift();
// 一番最後の要素を削除する
arry.pup();
//(要素のインデックス, 削除する数)
arry.splice(0, 1);