JavaScript 如何获取class的static方法

2020-07-21  本文已影响0人  罗坤_23333

getOwnPropertyStatics

  function getOwnPropertyStatics(_obj){
        const KNOWN_STATICS = {
            name: true,
            length: true,
            prototype: true,
            caller: true,
            callee: true,
            arguments: true,
            arity: true
        };

        let result = [];

        let keys = Object.getOwnPropertyNames(_obj);
        keys = keys.concat(Object.getOwnPropertySymbols(_obj));
        for (let i = 0; i < keys.length; ++i) {
            const key = keys[i];
            if (!KNOWN_STATICS[key]){
                result.push(key)
            }
        }

        return result;
    }

参考

上一篇 下一篇

猜你喜欢

热点阅读