es6 语法 (类与对象)

2018-06-24 00:37:09来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

{
  // 基本定义和生成实例
  class Parent{
    constructor(name='mukewang'){
      this.name=name;
    }
  }
  let v_parent1=new Parent();
  let v_parent2=new Parent('v');
  console.log('构造函数和实例',v_parent1,v_parent2); // Parent {name: "mukewang"};Parent {name: "v"}
}

{
  // 继承
  class Parent{
    constructor(name='mukewang'){
      this.name=name;
    }
  }

  class Child extends Parent{

  }

  console.log('继承',new Child());//Child {name: "mukewang"}
}

{
  // 继承传递参数
  class Parent{
    constructor(name='mukewang'){
      this.name=name;
    }
  }

  class Child extends Parent{
    constructor(name='child'){
      super(name);
      this.type='child';
    }
  }

  console.log('继承传递参数',new Child('hello')); //_Child {name: "hello", type: "child"}
}

{
  // getter,setter
  class Parent{
    constructor(name='mukewang'){
      this.name=name;
    }

    get longName(){
      return 'mk'+this.name
    }

    set longName(value){
      this.name=value;
    }
  }

  let v=new Parent();
  console.log('getter',v.longName);//mkmukewang
  v.longName='hello';
  console.log('setter',v.longName);//mkhello
}

{
  // 静态方法
  class Parent{
    constructor(name='mukewang'){
      this.name=name;
    }

    static tell(){
      console.log('tell'); 
    }
  }

  Parent.tell(); //tell

}

{
  // 静态属性
  class Parent{
    constructor(name='mukewang'){
      this.name=name;
    }

    static tell(){
      console.log('tell');
    }
  }

  Parent.type='test';

  console.log('静态属性',Parent.type); //test


}

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:js的解析顺序 作用域 严格模式

下一篇:【WebGL】《WebGL编程指南》读书笔记——第5章