Это ошибка в объектах Node Proxy (v12.6.0)? - PullRequest
0 голосов
/ 08 июля 2019
  1. Можно обернуть класс в прокси-объект.
  2. Прокси-объекты позволяют нам перехватывать вызовы конструктора.
  3. Можно расширить прокси-класс.
  4. В браузере (chrome 73.0.3683.75) вызов конструктора подкласса вызовет ловушку "конструкции" прокси.
  5. В узле JS вызов конструктора подкласса НЕ вызовет прокси "construct "trap.

    class monster1{}
    
    const handler1 = {
        construct(target, args) {
            console.log('monster constructor called');
    
            return new target(...args);
        }
    };
    
    const proxy1 = new Proxy(monster1, handler1);
    
    class monster2 extends proxy1 {}
    
    new proxy1;
    new monster2;
    

    . Строка" monster constructor named "будет выведена на консоль дважды, когда приведенный выше код будет запущен в chrome 73.0.3683.75, но только один раз, когда он будет запущен на узле v12.6,0.

...