Skip to main content

ES6 类

#

  1. class 是什么 类相当于是模具
  2. 模式 没有class的时候,程序员使用对象封装类, 工厂函数( new 之后的),叫构造函数
  • 类的声明方式
class My {    // 构造函数 constructor    constructor() {        // 当一个类被实例化的时候,第一个被执行的就是constructor        this.name = "zhang"    }    // 不在构造函数里的属性就不要加this    age = 15}
const name = new My()console.log(name);
  • 工厂模式
var func = function () {    var obj = {        name="zhang"    }    return obj}

数组,函数,对象的原型都是对象,so 三者可以相互继承,当实例化一个函数得到实例化对象的时候,那么改函数的原型对象上的所有属性和方法都会继承给实例化对象

  • this

    • 函数找归属(谁调用)
    • 箭头函数找空间
  • 继承 一个class拥有了另外一个class的所有内容

  • 后端对类的定义 只能子类访问父类的属性和方法,而父类不可以向下访问子类,前端的class 是伪类,还是基于原型对象封装的,前端的class,子类可以继承父类的属性,父类下的两个子类也可以相互继承。

// 父类class A {    constructor() {        this.name = '我是A'
    }    getName() {        return this.name + this.age    }}// B 继承自 Aclass B extends A {    name = '我是B'    age = 15    getName() {        return this    }}const myA = new A()const myB = new B()console.log(myB.getName());console.log(myA.getName()); //可以使用class A的this.age (只不过是A里没有,所以说undefined 正常讲 A里的getName就不能成立)