SOURCE

class User {
    constructor(name, viewPage = []) {
        this.name = name;
        this.viewPage = viewPage;
    }
}

class UserFactory extends User {
    constructor(name, viewPage) {
        super(name, viewPage);
    }

    create(role) {
        switch(role) {
            case 'superAdmin':
                return new UserFactory('超级管理员', ['首页', '通讯录', '发现页', '应用数据', '权限管理'])
                break;
            case 'admin':
                return new UserFactory('管理员', ['首页', '通讯录'])
                break; 
            default:
                throw new Error('params error');    
        }
    }
}

let userFactory = new UserFactory();
let admin = userFactory.create('admin');
console 命令行工具 X clear

                    
>
console