ES6: Class类

Es6提供了新的构造函数写法,引入了Class这个关键字来声明一个构造函数

  • old type
function Person(x,y){
  this.x = x;
  this.y = y;
}
Person.prototype.init = function(){}
//实例
new Person(1,2)
  • now
class Person(){
  constructor(x,y){
  this.x = x;
  this.y = y;
  }
  init(){}
}
//实例
new Person(1,2)

注意方法间不要加“,”

  • 私有方法
    私有方法,顾名思义,只在对象内部调用,是常用的需求
class List(){
  _get(){
  }
  init(){}
}
//_get方法我用"_"做标示,证明他只在内部使用,是私有方法
  • 继承
    子类必须在constructor方法中调用super方法,否则新建实例时会报错。这是因为子类没有自己的this对象,而是继承父类的this对象,然后对其进行加工。如果不调用super方法,子类就得不到this对象。
class Person(){
  constructor(x,y){
  }
}
class students extends Person(){
  constructor(x,y,z){
    super(x,y);
    this.z = z;
}
}
  • set get
    在Class内部可以使用getset关键字,对某个属性设置存值函数和取值函数。

看到这里,其实是可以实现一个很简单的双向绑定

class bind(){
  constructor(ele){
    this.ele = document.getElementBy(ele)
  }
  get html() { 
    return this.element.innerHTML;
   } 
  set html(value) 
  { 
    this.element.innerHTML = value; 
  }
}
  • 静态方法
    static修饰的方法,不能被实例继承,直接在类上调用
class Person(){
  static age(){ return 'hh'}
}
Person.age()  ==> hh
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,740评论 18 399
  • ES6 class类知识点梳理 大概从几个方面来讲解ES6 class类和传统的构造函数的区别。 必须要有cons...
    sunny519111阅读 476评论 0 1
  • class的基本用法 概述 JavaScript语言的传统方法是通过构造函数,定义并生成新对象。下面是一个例子: ...
    呼呼哥阅读 4,123评论 3 11
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,837评论 18 139
  • 找出我们之间99个相同点,好像你就会爱上我一样。 1.我们都是人。 2.我们都是台州人。 3.我们同一个大学。 4...
    梦里荏阅读 453评论 0 0