ES6 类

2/20/2019 前端基础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 继承自 A
    class 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就不能成立)
最后提交: 7/15/2022, 10:42:12 AM