子类ES6 Proxied Class

时间:2017-02-27 16:46:17

标签: javascript es6-class es6-proxy

我想要对Proxied ES6类进行子类化。它在Firefox和Chrome中运行良好,但Safari 10会抛出错误:

let SuperClass = class {
    constructor() {
        console.log('SuperClass constructor')
    }
}

let ProxiedSuperClass = new Proxy(SuperClass, {});

let SubClass = class extends ProxiedSuperClass {
    constructor() {
        super();
        console.log('SubClass constructor')
    }
}

var s = new SubClass(); 

// Expected output (Firefox, Chrome): 
// SuperClass constructor
// SubClass constructor

// Safari output:
// function is not a constructor (evaluating 'super()')

因此,Safari似乎尝试扩展Proxy,而Firefox和Chrome扩展SuperClass

这里的正确行为是什么?代理一个类是不可能(或定义好的)?或者我可以某种方式暗示Safari做“正确的事情”,即继承SuperClass而不是Proxy

0 个答案:

没有答案
相关问题