ES6-class 用法总结

121 阅读1分钟

Class

ES2015

  • 原理:类本身指向构造函数,所有方法都定义在prototype上,可以看做构造函数的另一中写法(Class === Class.prototype.construtor

  • 方法和关键字

    • constructor:构造函数,new命令生成实例时自动调用
    • extends:继承父类
    • super:新建父类的this
    • static:定义静态方法
    • get:取值函数,拦截属性的取值行为
    • set:存值函数,拦截属性的存值行为
  • 属性

    • proto:构造函数的继承(总是指向父类),实例的属性
  • 静态属性:定义类完成后赋值属性,该属性不会被实例继承,只能通过类来调用

  • 静态方法:使用static定义方法,该方法不会被实例继承,只能通过类来调用(方法中的this指向类,而不是实例)

  • 其他定义

    • 实例:new出来的
    • 构造器(构造函数):方法 || class
  • this指向

类的方法内部如果含有this,它默认指向实例 箭头函数的this: 定义时所在的对象


将这个方法提取出来单独使用,this会指向该方法运行时所在的环境(由于 class 内部是严格模式,所以 this 实际指向的是undefined

静态方法:不会被实例继承