Class 中的对象方法

Object Methods within a Class

我刚开始使用 ES6 classes,我正在尝试弄清楚如何在 class 中对方法进行分组 我正在为 Table 创建 so 方法例如排序、调整大小等...

class Table extends someClass{
    myMethods(){
        //BLAH      
    }
    var column={
        sort:()=>{
            console.log('firing');
        },
        resize:{
            mousedown:()=>{

            },
            mousemove:()=>{

            },
            mouseup:()=>{

            },
            mouseout:()=>{

            }
        }       
    },
    var cells={
        edit:()=>{
            console.log('firing');
        }
    }
}

//错误(意外标识符)

问题是 Table class 已经在扩展(默认基数 class)someClass 我会说扩展 Column class 之类的,但我不能,因为它已经在扩展基础 class.

问题: 我如何在已经扩展了另一个 class 的 Class 中组织我的方法 sort,resize ? (或者这是非标准的,如果是,请提供正确的方法。)

您的代码无效,因为您在 class 正文中使用了 var 关键字。您只能在 class 主体中包含方法。您可以通过在方法中为它们设置值来为 class 创建属性。例如:

class Table extends someClass {
    constructor() {
        this.column = {
            sort: () => {
                console.log('firing');
            },
            resize: () => {
                console.log('firing');
            }
        };

        this.cells = {
            edit: () => { 
                console.log('firing');
            }
        }

    }

    myMethods() {
        //BLAH      
    }
}

现在您可以像这样访问方法:

var table = new Table();
table.column.sort();

class Table 语法声明类型为 Table 的 class。 {} 语法,例如:

{
    edit: () => { 
        console.log('firing');
    }
}

创建没有类型的对象。

Here's a guide on ES6 classes which should answer your other questions.