ES6类具有称为内部函数的函数

时间:2015-11-30 22:02:01

标签: javascript function ecmascript-6

我在ES6 javascript中尝试了一些东西,我遇到了问题     试图在函数中使用函数并且它产生错误..

       class Model {
            constructor(properties) {
              this.properties = properties;
            }

            functionA() {
              return functionB() * 3;
            }
            functionB(){
              return 5 * 3;
            }
        }

这个代码是否正常工作,我的意思是调用functionA()中的functionB?

1 个答案:

答案 0 :(得分:1)

如果你用下面的表格写出来,你会问同样的问题:

function Model(properties) {
    this.properties = properties;
}

Model.prototype.functionA = function () {
    return /*insert function B call*/ * 3;
};

Model.prototype.functionB = function () {
    return 5 * 3;
};

ES6仍然受到相同的JS范围规则的约束,而ES6类只是上面所见的语法糖。

因此,您必须像在构造函数中一样使用this.functionB来在新构造的properties实例上设置Model成员。