调用javascript静态方法会产生TypeError

时间:2018-04-17 03:30:19

标签: javascript node.js amazon-web-services aws-lambda

使用this.constructor调用javascript静态方法会产生TypeError。以下是代码,

parent.js,

module.exports = class parent {
        persist(data) {
            data = this.constructor._sanitizeData(data);
            // remaining code using the sanitized data
        }

        static _sanitizeData(data) {
            for (let prop in data) {
                if (typeof data[prop] === 'object') {// dive deeper in

                    this.constructor._sanitizeData(data[prop]);
                } else if(data[prop] === '') {
                    delete data[prop];
                }
            }
            return data;
        }
    }

child.js,

const parent = require('parent');

module.exports = class child extends parent {
}

index.js,

const child = require('child');

let childObj = new child();
childObj.persist({a:1, b:2});

上面的代码给出了以下错误TypeError:this.constructor._sanitizeData不是函数

我在aws lambda中使用NodeJs 8.10。

0 个答案:

没有答案