ES6 类

类的创建与继承

//创建类
class A {
  constructor(name = 'mukewang') {
    this.name = name;
    this.id = 1;
  }
}
let c_a = new A('a');
console.log(c_a); //{name: "a", id: 1}

// 继承类
class B extends A {

}
console.log(new B('b'));  //{name: "b", id: 1}

// 继承类 传递参数
class C extends A {
  constructor(name = 'child') {
    super(name);  //换用this.name = name; 会报错
    this.type = 'child';
  }
}
console.log(new C('c'));  //{name: "c", id: 1, type: "child"}

静态方法 静态属性

class A {
  static tell() {
    console.log('tell');
  }
}
A.tell();   //静态方法
A.type = 'test';
console.log(A.type); //静态属性

getter 与 setter

class A {
  constructor(name = 'king') {
    this.name = name;
  }
  age=123
  get_age() {
    return 'xx' + this.age 
  }


  //这里是属性并不是函数
  get get_name() {
    return 'xx' + this.name
  }

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

let v = new A(); 
console.log(v.age); //123
console.log(v.get_age());//xx123
v.age = 321;
console.log(v);//{age: 321, name: "king"}

console.log(v.get_name);  //xxking
console.log(v); //{age: 321, name: "king"}
v.get_name = 'hello';
console.log(v);  //{age: 321, name: "hello"}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容