ES6(面向对象)

继承

class User{ constructor(name,pwd){ this.name=name this.pwd=pwd }showName(){ alert(this.name) }showPwd(){ alert(this.pwd) } }var user=new User('LiLei',1233) user.showName() user.showPwd()class VipUser extends User{ constructor(name,pwd,level){ super(name,pwd)this.level=level }showLevel(){ alert(this.level) } }var vip=new VipUser('HanMeiMei',23344,4) vip.showLevel()

静态方法/属性
const users=[]; //该数组将作为User的users属性的初始值class User{ constructor(firstname,lastname,age){ this.firstname=firstname, this.lastname=lastname, this.age=age }getName() { return `${this.firstname} ${this.lastname}` }static insert(firstname,lastname,age) { const u=new User(firstname,lastname,age) User.users.push(u) return u }static getOnebyfirstname(firstname) { return Users.find(u=>u.firstname===firstname) }//定义静态方法 static list(query){ return User.users }//定义静态属性 等效于 static users=users,只是这种写法js暂不支持 static get ['users'](){ return users } }

【ES6(面向对象)】等效于
class User{ constructor(firstname,lastname,age){ this.firstname=firstname, this.lastname=lastname, this.age=age }getName() { return `${this.firstname} ${this.lastname}` }static insert(firstname,lastname,age) { const u=new User(firstname,lastname,age) User.users.push(u) return u }static getOnebyfirstname(firstname) { return Users.find(u=>u.firstname===firstname) }static list(query){ return User.users } } User.users=[];

    推荐阅读