ES6 - 吃鸡入门系列 ~ class

对比

es6

原生模拟

//定义
function User(){
  this.username = 'lake';
  this.age = 24;
}
//增加方法
User.prototype.login = function(){
  //exec login service
}
//创建对象
let userObj = new User();
//执行方法
userObj.login();

class 使用

//定义
class User{
  constructor(age){
    this.username = 'lake';
    this.age = age;
  }

  login(username='lake',password){
    //exec login service
  }
}
//创建对象
let userObj = new User(24);
//调用方法
userObj(undefined,'lake');

继承

class Person{
  
}
class User extends Person{
  // constructor(age){
  //  ...
}

静态方法

class User extends Person{
  static hi(){
    return 'hello';
  }
  // constructor(age){
  //  ...
}
//调用
console.log(User.hi());
//输出
> hello

静态方法(标识)

class User extends Person{
  static get hi(){
    return 'hello';
  }
  // constructor(age){
  //  ...
}
//调用(不用写括号)
console.log(User.hi);
//输出
> hello

你可能感兴趣的:(ES6 - 吃鸡入门系列 ~ class)