ES6类方法范围

时间:2015-07-07 11:29:43

标签: javascript ecmascript-6

我正在使用一些ES6功能,并尝试将我的一些旧代码的类结构转换为等效的ES6类。

var App = function() {

    /**
     * Public method calling a private method.
     */
    this.init = function() {
        events();
    };

    /**
     * Private method.
     */
    var handleClickEvent = function() {
        console.log('Click handled');
    };

    /**
     * Private method with event calling private
     * method in this class.
     */
    var events = function() {
        document.addEventListener('click', handleClickEvent);
    };

};

(new App).init();

这是通过制作方法static还是有private等价的正确方法,也可以在类之外调用静态方法,如App.events()

class App {

    constructor() {
        App.events();
    }

    static handleClickEvent() {
        console.log('Click handled');
    }

    static events() {
        document.addEventListener('click', App.handleClickEvent);
    }

}

new App();

0 个答案:

没有答案
相关问题