nodejs 如何实现 php 的 __callStatic 魔术方法 ?

nodejs 如何实现 php 的 __callStatic 魔术方法 ?
或者说, 如何 如何使用 nodejs 实现 static 对 普通方法的呼叫 ?

牛魔王的故事
浏览 571回答 1
1回答

郎朗坤

可以尝试用Prixy来实现,但是需要调用代理后的对象而不是原类(()=>{    class Test{        static staticMethod(){            console.log(`this is staticMethod`);        }    }    class Test2 extends Test{        static staticMethod2(){            console.log(`this is staticMethod2`);        }    }    var P = new Proxy(Test, {        apply: (target, that, args) => {            console.log("apply", target, that, args);        },        get: (target, property, receiver) => {            if(property in target){                return target[property];            }else{                return Test2.staticMethod2;            }        }    });    P.staticMethod();    P.staticMethod2();})();
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript