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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,248评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,457评论 25 709
  • 最近很忙么…嗯…有一点,忙到很久没发牢骚很久没来简书唠叨。 想想以前的自己,别说卖东西了,连买东西都...
    爱生活爱拉拉芳阅读 284评论 0 0
  • 要问孩子的天性里最爱什么,当然是——玩耍。 现在的孩子,大都衣食无忧,比前辈人幸福得多,却也多了份前辈人不曾有过的...
    泠风思语阅读 1,556评论 2 3
  • 我是于欢,“故意伤害案”的于欢。 今天,我要感谢侯亮平和他的同事们为我做出的客观公正的结论。从3月26日以来,侯亮...
    华清奔驰阅读 250评论 0 1